Ajax调用不起作用

时间:2012-09-08 19:35:06

标签: asp.net jquery json.net

我尝试在我的aspx页面中使用ajax调用。这是我的剧本:

<head runat="server">
<title></title>
<script type="text/javascript" src="jquery/ui/jquery-ui-1.8.23.custom.js"></script>

<script type="text/javascript" language="javascript">

    $(document).ready(function () {
        $.ajax({
            type: "POST",
            url: "WebForm1.aspx/List",
            data: '{}',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function () {
                alert('asd');
            }
        });

    });

</script>
</head>

这是我的服务器端代码:

 [WebMethod]
 public static string[] List()
 {
      ...
 }

我放了一个断点List的第一行但没有任何反应。你有什么建议,我犯了错误吗?

1 个答案:

答案 0 :(得分:0)

您指定的参数是json;但是哪里是json数据? data: '{}',是一个对象。另外,我会检查url参数。据推测,你需要像这样写你的电话:

var AjaxData = '{"ParameterName":""}';

 $.ajax({
            type: "POST",
            url: "../WebForm1.aspx/GetList",
            data: AjaxData ,
            contentType: "application/json; charset=utf-8",
            dataType: "json",....

然后在服务器端,您应该指定您正在接收字符串,因为这是json数据的格式。我还建议更改WebMethod的名称,因为List可能会令人困惑。最后,你要返回json,因此你要返回一个字符串而不是一个数组。像这样的服务器方法:

 [WebMethod]
 public string GetList(string ParameterName)
 {
      ...
 }