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

【字号: 日期:2024-02-16浏览:20作者:雯心
如何解决jQuery $ .get / $。ajax传递HTTP状态代码200而不是预期的状态代码201或202?

根据我的经验,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/

希望对您有所帮助!

解决方法

我有一台服务器,从同一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);});

为什么会发生这种情况,更重要的是,如何在jQuery AJAX回调中获取$.get或的实际状态代码$.ajax?

感谢您的阅读。

相关文章: