我有一个服务器,它从相同的url返回HTTP状态代码200、201和202。在Chrome中,我已经与网络调试面板确认了状态码是我期望的(即200、201或202)。我依靠该状态代码来确定下一步。
我期望jQuery (version 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回调中获得实际状态代码
感谢您的阅读。
发布于 2011-11-01 01:30:10
根据我的经验,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/
希望这能帮你搞定它!
https://stackoverflow.com/questions/7931766
复制相似问题