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

时间:2011-10-28 16:00:24

标签: ajax http jquery

我有一台服务器从同一个网址返回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回调中获取实际状态代码?

感谢您的阅读。

1 个答案:

答案 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/

希望能帮到你钉住它!