小编mik*_*ev2的帖子

jquery的post()方法是否能够调用asp.net 3.5 webmethod?

这是一些javascript:

$.ajax({
        type: "POST",
        url: "default.aspx/GetDate",
        contentType: "application/json; charset=utf-8",
        data: {},
        dataType: "json",
        success: function(result) {
            alert(result.d);
        }
     });
Run Code Online (Sandbox Code Playgroud)

上面的方法可以正常工作,并在default.aspx中警告从[WebMethod]返回的名为GetDate的字符串

但是当我使用时:

$.post(
        "default.aspx/GetDate",
        {},
        function(result) {
            alert(result.d);
        },
        "json"
     );
Run Code Online (Sandbox Code Playgroud)

此成功方法中的警报永远不会触发.

在firebug中我可以看到POST基本上有效 - 它返回200 OK
但是在这种情况下的响应是整个default.aspx页面的HTML而不是我使用$ .ajax()方法时返回的JSON.

编辑:
firebug中显示的响应和请求标头不相同.

使用$ .ajax()......

REQUEST:
Accept  application/json, text/javascript, */*; q=0.01
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Encoding gzip, deflate
Accept-Language en-gb,en;q=0.5
Connection  keep-alive
Content-Type    application/json; charset=utf-8
Cookie  (removed)
Host    (removed)
Referer (removed)
User-Agent  Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
X-Requested-With    XMLHttpRequest

RESPONSE:
Cache-Control   private, max-age=0 …
Run Code Online (Sandbox Code Playgroud)

asp.net ajax jquery webmethod

5
推荐指数
1
解决办法
2106
查看次数

标签 统计

ajax ×1

asp.net ×1

jquery ×1

webmethod ×1