使用 jQuery 调用 ASP.NET PageMethod/WebMethod - 返回整个页面 [英] Call ASP.NET PageMethod/WebMethod with jQuery - returns whole page
问题描述
jQuery 1.3.2,ASP.NET 2.0.对 PageMethod (WebMethod) 进行 AJAX 调用将返回完整/整个页面,而不仅仅是响应.页面方法上的断点显示它永远不会被击中.我的方法有 [WebMethod] 属性,它是 public static,返回字符串并且不接受任何参数.我什至尝试在班级顶部添加 [ScriptService] 以查看是否有帮助,但没有.
jQuery 1.3.2, ASP.NET 2.0. Making an AJAX call to a PageMethod (WebMethod) returns the full/whole page instead of just the response. A breakpoint on the page method shows it's never getting hit. I have the [WebMethod] attribute on my method, and it is public static, returns string and accepts no params. I even tried adding [ScriptService] at the top of my class to see if it helped, but it did not.
我看过这篇文章Jquery AJAX with ASP.NETWebMethod Returning Entire Page 与我的症状相同,但我仍然遇到问题.我读了 http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/ 我觉得我正在关注这个,但仍然没有运气.
I have seen this post Jquery AJAX with ASP.NET WebMethod Returning Entire Page which had my same symptoms, but I am still having a problem. I read http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/ and I feel like I'm following this to the T, but still no luck.
我正在调用的 jQuery 是:
The jQuery call I'm making is:
jQuery.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: '{}',
dataType: 'json',
url: 'MyPage.aspx/SomePageMethod',
success: function(result){
alert(result);
}
});
请求/响应标头,根据 FF3 中的 Firebug,如下
The request/response headers, as per Firebug in FF3, are as follows
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 只是为了看看它是否有帮助,但没有运气.
I've added a ScriptManager to my page just for kicks to see if it helped, but no luck there.
有什么建议吗?
推荐答案
您知道页面方法是否正常工作吗?如果您使用 ScriptManager,它们会起作用吗?
Do you know that Page Methods are working properly? If you use the the ScriptManager do they work?
听起来您可能缺少一个 web.config 条目.特别是 HttpModules 部分.
It sounds like you might be missing a web.config entry. Specifically the HttpModules section.
这篇关于使用 jQuery 调用 ASP.NET PageMethod/WebMethod - 返回整个页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!