[英]c# - Problems during AJAX call with Jquery
晚上好,我正在尝试在C#页面中进行AJAX调用,并且正在处理一些问题。
我的jQuery代码是:
$(document).ready(function () {
$.ajax({
type: "POST",
url: "conteudo.aspx/GetNewPost",
data: { ids: "<%=Request.QueryString["idconteudo"]%>" },
contentType: 'application/json; charset=utf-8',
dataType: 'json',
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Request: " + XMLHttpRequest.toString() + "\n\nStatus: " + textStatus + "\n\nError: " + errorThrown);
},
success: function (data) {
alert("ok");
}
});
});
我的后台代码是:
[WebMethod]
public static string GetNewPost(string ids)
{
// some code
return ids;
}
有人知道发生了什么吗? PS:错误是Internal Server Error
。
尝试:
var idconteudo =“ <%= Request.QueryString [” idconteudo“]%>”;
...
...
网址:“ conteudo.aspx / GetNewPost”,
数据:“ {ids:\\”“ + idconteudo +” \\“”}“,
contentType:'application / json; charset = utf-8',
...
...
请使用以下代码
因为您正在使用查询字符串中的文本数据类型,所以可以将数据类型设置为text
$(document)
.ready(function () {
var q = "<%=Request.QueryString["idconteudo"]%>";
alert(q);// just to check the value
// assuming that you had passed query string value
$.ajax({
type: "POST",
url: "conteudo.aspx/GetNewPost",
data: { "ids": q },
//contentType: 'application/json; charset=utf-8',
dataType: 'text',// data type should be text
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Request: " +
XMLHttpRequest.toString() +
"\n\nStatus: " +
textStatus +
"\n\nError: " +
errorThrown);
},
success: function(data) {
alert("ok");
}
});
});
编辑1 :如果Web方法位于ASPX页面上,则应使用以下代码,以便以Json格式获取结果
$(document)
.ready(function () {
var q = "<%=Request.QueryString["idconteudo"]%>";
//alert(q);
// just to check the value
// assuming that you had passed query string value
$.ajax({
type: "POST",
url: "conteudo.aspx/GetNewPost",
data: '{ids: "' + q + '" }',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Request: " +
XMLHttpRequest.toString() +
"\n\nStatus: " +
textStatus +
"\n\nError: " +
errorThrown);
},
success: function (result) {
alert("ok" + result.d);
}
});
});
从您提供给我们的帖子中,我发现有两件事是不正确的,另一件事可能是您的问题中尚未发布的,但实际上这是您的真实资料。
1)您的data
写错了。 它应该是:
$(document).ready(function () {
var test = "<%=Request.QueryString["idconteudo"]%>";
$.ajax({
type: "POST",
url: "conteudo.aspx/GetNewPost",
data: { 'ids' : test }, // the ids needs to have quotes to be correct syntax
dataType: 'text',
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Request: " + XMLHttpRequest.toString() + "\n\nStatus: " + textStatus + "\n\nError: " + errorThrown);
},
success: function (data) {
alert("ok");
}
});
});
2)您说这是POST
但您的方法未使用[HttpPost]
注释修饰。
3)您的dataType
设置为'json'
但是您的方法返回一个string
..所以'json'
应该更改为'text'
。
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.