Jquery $ ajax函数在C#中返回500内部服务器错误

时间:2017-10-25 13:18:23

标签: javascript c# jquery ajax asp.net-ajax

单击按钮时,我在页面加载后将一些数据传递给.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)**

3 个答案:

答案 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",