1

我正在使用 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()... 但没有成功。

有任何想法吗?

4

3 回答 3

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"; 
};
于 2012-12-21T12:10:35.097 回答
2

正如$.getJSONajax 请求查找错误消息一样,请使用以下命令:

$(document).ajaxError(function(event, msg, settings){
  alert(msg);
});
于 2012-12-21T12:17:39.860 回答
0

从文档:

jQuery.getJSON( url [, data] [, success(data, textStatus, jqXHR)] )

所以:

$.getJSON(urlToGetToken, function (data) {
    document.getElementById("demo3").innerHTML = textStatus;
}).success(function () {

将为您提供结果。

于 2012-12-21T12:13:47.110 回答