如果我不在JQuery中向WebMethod发送任何数据,那么在Ajax中设置数据的内容是什么?

时间:2017-10-09 19:31:35

标签: javascript jquery asp.net json ajax

我想使用Ajax和WebMethod

从服务器端检索数据

这是我的代码:

char[]

我的WebMethod:

$.ajax({
    type: "POST",
    contentType: "application/json;charset=utf-8",
    url: "GPCreateCheque.aspx/getOpenRequestNo",
    data:"{}",

    dataType: "json",
    success: function (data) {                            
        alert(data.d);                            
    },
    error: function (result) {
        alert("Error");
    }
})

抛出错误

我不明白我的代码有什么问题。如果我从同一个ajax调用另一个webmethod,那可以正常工作,

在那个WebMethod我传递参数,所以我应该指定如下。

[WebMethod]
    public static List<string> getOpenRequestNo()
    {
        string[] result = { };
        List<string> records = new List<string>();

        string cs = ConfigurationManager.ConnectionStrings["Connection"].ConnectionString;
        using (SqlConnection con = new SqlConnection(cs))
        {
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandText = "SELECT [RequestID] FROM [Customer] WHERE Approved is null ORDER BY [ID] DESC";

            con.Open();
            SqlDataReader rd = cmd.ExecuteReader();
            while (rd.Read())
            {
                records.Add(rd["RequestID"].ToString());
            }
        }
        return records;
    }

但是我不想将任何数据发送到服务器,那么我应该如何指定数据字段

更新

  

我发现了问题,我可以返回字符串,但是我无法在ajax上返回List。

如何在AJAX上返回字符串?

1 个答案:

答案 0 :(得分:0)

这是我的问题的答案,最后我在Jquery.com找到了

$.ajax({
    type: "POST",
    contentType: "application/json;charset=utf-8",                 
    url: "GPCreateCheque.aspx/getOpenRequestNo",                     
    dataType: "json",
    success: function (data) {                            
        alert(data.d);                            
    },
    error: function (result) {
        alert("Error");
    }
})