jQuery $.get / $.ajax传递HTTP状态代码200,而不是201或202的预期状态代码

前端之家收集整理的这篇文章主要介绍了jQuery $.get / $.ajax传递HTTP状态代码200,而不是201或202的预期状态代码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个服务器从相同的url返回HTTP状态码200,201和202.在Chrome中,我已经通过网络调试面板确认状态码是我期望的(即200,201或202).我依靠这个状态代码来确定下一步.

我希望jQuery(1.5.2)的回调AJAX请求将jqxhr.status设置为服务器发送的状态代码.但是,即使服务器发送的代码是201或202,状态代码始终为200.

换句话说,无论服务器发送什么,以下代码打印代码:200.

$.get(url,{},function (data,textStatus,xhr ) {
    alert("Code: " + xhr.status);
});

为什么会发生这种情况,更重要的是,如何在jQuery AJAX回调中获取$.get或$.ajax的实际状态代码

谢谢你的阅读.

解决方法

从我所经历的jQuery在响应中处理实际的状态代码并没有很好的设置.您可以尝试使用一些好的旧裸机JS进行手动AJAX调用,并自己处理该状态.

以下是有关如何执行此操作的几个教程.

http://www.degraeve.com/reference/simple-ajax-example.php

http://www.w3schools.com/ajax/default.asp

request.status是您应该能够访问请求对象中的状态代码的位置.这是另一个页面,显示了有关如何访问有关请求状态的更详细的信息.

http://www.ibm.com/developerworks/web/library/wa-ajaxintro3/

希望能帮你打钉!

猜你在找的jQuery相关文章