[英]Error handling cross domain jquery ajax call
我正在執行一個跨域get操作,如下所示。
$.ajax({
type: "GET",
url: "http://localhost:65249/api/item/get",
data: {
searchText: "test"
},
dataType: "jsonp",
async: false,
success: function (results) {
alert(results);
},
error: function (jqXHR, error, errorThrown) {
if (jqXHR.status && jqXHR.status == 401) {
alert("Unauthorized request");
} else if (jqXHR.status && jqXHR.status == 404) {
alert("The requested page not found");
}
}
});
但是在請求完成后不會調用成功或錯誤塊。 當我在開發人員控制台中調試java腳本時,我收到錯誤但是沒有調用javascript的錯誤塊。
GET http://localhost:65249/api/item/getallproducts?callback=jQuery182028460139059461653_1396510235829&searchText=test&_=1396510674779 401 (Unauthorized)
不幸的是,如果您使用的是JSONP,則所有返回錯誤的請求都會以靜默方式失敗。 這是因為JSONP使用腳本標記而不是XmlHttpRequest。 如果您想要觸發錯誤,則需要將XHR與CORS一起使用。 需要在服務器端配置CORS,它僅在IE 10+中的客戶端工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.