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。
换句话说,无论服务器发送什么,以下代码都会打印Code: 200
。
$.get(url, {}, function (data, textStatus, xhr ) { alert("Code: " + xhr.status); });
为什么会发生这种情况,更重要的是,如何在$.get
或$.ajax
的jQuery 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/
希望能帮到你钉住它!