0
下面的代码在接收到“401 - 未授权”错误时抛出错误,不会发生.fail或.always错误。有没有办法触发失败并检索来自服务器的响应错误[myErrorMessage]?JSONP事件不起作用
的JavaScript
$(document).ready(function() {
var jqXHR = $.ajax({
url: "http://[myDomain]/[myPage]",
dataType: "jsonp",
jsonpCallback: "myFunction"
})
.done(function() { alert("success"); })
.fail(function() { alert("error"); })
.always(function() { alert("complete"); });
function myFunction(data) {
alert("callback");
}
});
请求结果
GET http://[myDomain]/[myPage]?callback=myJsFunction&_=1361463044315 HTTP/1.1
Host: [myDomain]
Connection: keep-alive
Accept: */*
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17
Referer: http://[myTotallyDifferentDomain]/Default.aspx
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
响应结果
HTTP/1.1 401 Unauthorized
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Thu, 21 Feb 2013 16:10:42 GMT
Content-Length: 67
{"Message":"[myErrorMessage]"}
铬再SULT
GET http://[myDomain]/[myPage]?callback=myJsFunction&_=1361463044315 401 (Unauthorized) jquery.min.js:5
Thx。我在这里发布之前已经检查过该网站。即使它会迫使我使用较低版本的jQuery寻找解决方法。由于行为导致异常我需要压制。 – cilerler 2013-02-21 17:07:04
@cilerler正如你可以在这里看到的:http://jsfiddle.net/NtzLQ/1/当使用