使用JSON数组的AJAX调用未被触发到服务器端

时间:2014-09-16 17:29:49

标签: c# asp.net ajax json

我试图使用jquery ajax将json数组传递给后面的代码。

什么有用

如果我使用带有空json字符串(.ajax())的jQuery "{}"来调用我的代码隐藏函数,我的代码隐藏函数就会被触发而没有问题。

我想做什么

如果我把一个Json字符串放到"数据" jQuery .ajax()的属性,然后使用字符串参数创建函数后面的代码,它不再被触发。

这是我的代码:

客户端

function SendAjax() {
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "Default.aspx/MyFunction",
        data: '{"foo":"bar"}',
        dataType: "json",
        success: function (msg) {
           //DO Somtething
        },
        error: function (xhr, status, error) {
            //DO Somtething
        }
    });
}

服务器端

[WebMethod]
public static string MyFunction(string jsonData)
{   
   //Do something
   return "test";
}
  • 我的json数组格式正确
  • 我有一个静态功能
  • 我有[WebMethod]

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

尝试100%正常工作

function SendAjax() {
            var city = "ABC";

            $.ajax({
                type: "POST",
                url: "Default4.aspx/MyFunction",
                data: "{jsonData:" + JSON.stringify(city) + "}",
                contentType: "application/json; charset=utf-8",

                dataType: "json",
                success: function (msg) {
                   alert(msg.d);
                },
                error: function (xhr, status, error) {
                    //DO Somtething
                }
            });
        }




[WebMethod]
    public static string MyFunction(string jsonData)
    {
        //Do something
        return "test";
    }