Ajax代码
[WebMethod]
public static string SearchStateList()
{
}
代码背后
$.ajax({
type: "POST",
url: "LiveFeed.aspx/SearchStateList",
contentType: "application/json; charset=utf-8",
data:{value:"samplevalue"},
dataType: "json",
success: function (response) {
$("#Content").text(response.d);
},
failure: function (response) {
alert(response.d);
}
});
上面的代码工作正常,后面的代码叫做
但是当我发送下面给出的一些参数时,不会调用后面的代码,当我看到Firebug控制台错误时,它会抛出
NetworkError:500内部服务器错误 - http://localhost:61276/App/LiveFeed/LiveFeed.aspx/SearchStateList
Ajax代码
[WebMethod]
public static string SearchStateList(string value)
{
}
代码背后
var param={value:"samplevalue"}
data:JSON.stringify(param),
我还尝试将ajax调用的数据修改为
data:param,
并且还直接尝试了JSON.stringify
{{1}}
每次当我尝试传递参数时,它都不会调用代码,并且会抛出500错误。
答案 0 :(得分:3)
你为什么不试试
var param={"value":"samplevalue"}
data:JSON.stringify(param),
答案 1 :(得分:0)
我认为数据内容附带引号:
data: '{value:"samplevalue"}',
答案 2 :(得分:-1)
您可以通过访问Request Collection来访问数据中发送的变量。
Request.Form["your_var_name"] // use this when you $.post
Request["your_var_name"] // use this when you $.get
所以你的代码背后可能是这样的:
public static string SearchStateList(string value)
{
Response.Write("The value of value is: " + Request.Form["value"]);
}
答案 3 :(得分:-1)
在您的Ajax帖子中,您已将data属性设置为: -
data:{value:"samplevalue"}
微妙的改变,以下是可行的: -
data:{ "value" :"samplevalue"}