单击按钮时,我在页面加载后将一些数据传递给.cs文件。但是在调用ajax函数时我得到 500内部服务器错误。
Ajax函数,
$.ajax({
type: "POST",
url: "Home.aspx/getSelectedData",
data: data,
contentType: "application/json; charset=utf-8",
dataType: "json",
//async: true,
调用函数,
[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public List<pageResult> getSelectedData(string search_value)
{}
我收到了以下错误,
**POST http://localhost:4519/Home.aspx/getSelectedData 500 (Internal Server Error)**
答案 0 :(得分:4)
像这样使用.cs文件,
[WebMethod]
public static List<pageResult> getSelectedData(string search_value)
{}
对于在aspx中调用ajax,你应该将方法定义为静态,然后只有它适合你。
答案 1 :(得分:2)
contentType
是您要发送的数据类型,因此application/json
;
默认值为application/x-www-form-urlencoded; charset=UTF-8
。
如果您使用application/json
,则必须使用 JSON.stringify()才能发送JSON对象。
JSON.stringify()将javascript对象转换为json文本并将其存储在字符串中。
$.ajax({
type: "POST",
url: "Home.aspx/getSelectedData",
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: "json",
答案 2 :(得分:0)
将您的ajax类型更改为获取
$.ajax({
type: "get",
url: "Home.aspx/getSelectedData",
data: data,
contentType: "application/json; charset=utf-8",
dataType: "json",