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/

希望能帮到你钉住它!