jQuery 1.3.2,ASP.NET 2.0。对 PageMethod (WebMethod) 进行 AJAX 调用会返回完整/整个页面,而不仅仅是响应。page 方法上的断点表明它永远不会被命中。我的方法上有 [WebMethod] 属性,它是公共静态的,返回字符串并且不接受任何参数。我什至尝试在我的班级顶部添加 [ScriptService] 以查看它是否有帮助,但它没有。
我已经看到这篇文章Jquery AJAX with ASP.NET WebMethod Returning Entire Page有我相同的症状,但我仍然遇到问题。我读了http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/,我觉得我正在关注 T,但仍然没有运气。
我正在进行的 jQuery 调用是:
jQuery.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: '{}',
dataType: 'json',
url: 'MyPage.aspx/SomePageMethod',
success: function(result){
alert(result);
}
});
根据 FF3 中的 Firebug,请求/响应标头如下
Response Headers
Server ASP.NET Development Server/8.0.0.0
Date Tue, 24 Feb 2009 18:58:27 GMT
X-AspNet-Version 2.0.50727
Cache-Control private
Content-Type text/html; charset=utf-8
Content-Length 108558
Connection Close
Request Headers
Host localhost:2624
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Accept application/json, text/javascript, */*
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 300
Connection keep-alive
Content-Type application/json; charset=utf-8
X-Requested-With XMLHttpRequest
Referer http://localhost:2624/MyApp/MyPage.aspx
Content-Length 2
Cookie ASP.NET_SessionId=g1idhx55b5awyi55fvorj055;
我在我的页面中添加了一个 ScriptManager 只是为了看看它是否有帮助,但那里没有运气。
有什么建议么?