我正在使用jQuery JavaScript库 v1.4.2
我正在使用此代码
var urlToGetToken = 'http://test.com';
$.getJSON(urlToGetToken, function (data) {
document.getElementById("demo3").innerHTML = data.access_token;
}).success(function () {
alert("second success");
})
.error(function () {
alert("error");
})
.complete(function () {
alert("complete");
});
我想在demo3中打印状态代码和错误消息,以防Ajax请求失败。
我厌倦了使用.error()......但没有成功。
任何想法?
答案 0 :(得分:4)
在Jquery 1.5中引入了Promises / Deferreds - 我不确定您在1.4.2中使用的语法
我们无法将'失败'回复传递给$ .getJson - 您可以使用$ .ajax - 这绝对可以使用
如果您想点击失败事件
$.ajax({
url: url,
dataType: 'json',
data: data,
success: successCallback,
error : failureCallback
});
var successCallback = function(data){
$("#demo3").innerHTML = data.access_token;
};
var failureCallback = function(jqXHR, textStatus, errorThrown){
$("#demo3").innerHTML = "Your error message";
};
答案 1 :(得分:2)
由于$.getJSON
是查找错误消息的ajax请求,请使用:
$(document).ajaxError(function(event, msg, settings){
alert(msg);
});
答案 2 :(得分:0)
来自文档:
jQuery.getJSON( url [, data] [, success(data, textStatus, jqXHR)] )
所以:
$.getJSON(urlToGetToken, function (data) {
document.getElementById("demo3").innerHTML = textStatus;
}).success(function () {
将为您提供结果。