如何在jquery中获取请求的JSON的Http响应

时间:2011-08-03 10:59:51

标签: jquery ajax json

我正在使用jQuery.ajax({         url:some.json,         类型:“GET”,         数据类型: 'JSON',         缓存:假的,         成功:功能(数据){

    }
    ,error:function(jqXHR,text,error){
        alert(jqXHR.status);
                    alert(jqXHR.statusText);
                    alert(jqXHR.readyState);
                    alert(jqXHR.responseText);

    }
    ,beforeSend:function(){   }
    ,complete:function(jqXHR, textStatus){

        alert(jqXHR.status);
                    alert(jqXHR.statusText);
                    alert(jqXHR.readyState);
                    alert(jqXHR.responseText);

    }



});

在上面的ajax调用,如果出现任何问题,如服务器问题或json url错误,我想显示错误消息,因为我需要http响应代码,如500,404 ..但我尝试了各种方式,你可以看到上面代码的警报,每次我会得到200,如果它是成功其他明智的是给0而不是实际的http响应代码(如果有任何问题,如服务器错误或json url错误,但我无法获得实际的http响应代码).i已经在这个洞的日子工作了,我仍然无法得到适当的解决方案。我使用的是ajax 1.5.2版。我可以告诉任何正文,因为这对我来说非常重要。

1 个答案:

答案 0 :(得分:0)

你可以这样做(来自jQuery docs):

$.ajax({
  statusCode: {
    404: function() {
      alert('page not found');
    }
  }
});

如果请求成功,则状态码函数采用与成功回调相同的参数;如果它导致错误,则它们采用与错误回调相同的参数。