我有一台服务器从同一个网址返回HTTP状态代码200,201和202。在Chrome中,我已经通过网络调试面板确认状态代码是我期望的(即200,201或202)。我依靠该状态代码来确定下一步。
我希望jQuery(版本1.5.2)AJAX的回调请求将jqxhr.status
设置为服务器发送的状态代码。但是,状态代码始终为200,即使服务器发送的代码为201或202。
换句话说,无论服务器发送什么,以下代码都会打印Code: 200
。
$.get(url, {}, function (data, textStatus, xhr ) {
alert("Code: " + xhr.status);
});
为什么会发生这种情况,更重要的是,如何在$.get
或$.ajax
的jQuery AJAX回调中获取实际状态代码?
感谢您的阅读。
答案 0 :(得分:2)
根据我的经验,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/
希望能帮到你钉住它!