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

Bri*_*unt 10 ajax jquery http

我有一个服务器从同一个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);
});
Run Code Online (Sandbox Code Playgroud)

为什么会出现这种情况,更重要的是,一个人如何可以得到实际的状态代码在一个jQuery AJAX回调$.get$.ajax

谢谢你的阅读.

tho*_*len 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/

希望能帮助你搞定!