下面是一些javascript:jquery的post()方法能夠調用asp.net 3.5 webmethod嗎?
$.ajax({
type: "POST",
url: "default.aspx/GetDate",
contentType: "application/json; charset=utf-8",
data: {},
dataType: "json",
success: function(result) {
alert(result.d);
}
});
上述方法的工作原理我希望和警報字符串從[的WebMethod]所謂GETDATE Default.aspx中
返回但是當我使用:
$.post(
"default.aspx/GetDate",
{},
function(result) {
alert(result.d);
},
"json"
);
這種成功方法中的警報從不會引發火災。
在Firebug我可以看到POST已基本工作 - 它會返回200 OK
但是,在這種情況下,響應是整個Default.aspx頁面的HTML而不是JSON回來,當我使用$阿賈克斯() 方法。
編輯:在螢火所示
的響應和請求頭是不相同的。
隨着$。阿賈克斯()...
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
Content-Length 27
Content-Type application/json; charset=utf-8
Date Wed, 11 Jan 2012 12:36:56 GMT
Server Microsoft-IIS/7.5
X-Powered-By ASP.NET
隨着$。員額()...
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
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
Content-Length 13815
Content-Type text/html; charset=utf-8
Date Wed, 11 Jan 2012 12:36:53 GMT
Server Microsoft-IIS/7.5
X-AspNet-Version 2.0.50727
X-Powered-By ASP.NET
我可以使用的$。員額()方法用於此,還是必須使用$ .ajax()方法?
你確定*請求頭是相同的? 「Content-Type」頭文件不會改變嗎? – lonesomeday 2012-01-11 13:24:00
您確實需要撥打網絡服務嗎?我剛剛使用$ .get完成了這個工作,並返回了純HTML(沒有頭文件),它完全滿足我的需求。如果這會幫助,然後讓我知道,我會張貼一些代碼。 – Archer 2012-01-11 13:27:49
@lonesomeday讀過它們的次數很多,您的懷疑是正確的 - 「Content-Type:application/json; charset = utf-8」確實在$ .ajax()調用的Request Headers中。 – mikev2 2012-01-11 13:32:14