0

我尝试在我的 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 的第一行放了一个断点,但什么也没发生。你有什么建议,我在哪里犯了错误?

4

1 回答 1

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)
 {
      ...
 }
于 2012-09-08T19:42:17.073 回答