我有一个服务器,它从同一个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
的实际状态码?
感谢阅读。
GET
请求的机会? - Kris Ivanov$.ajax
并报告状态会发生什么。 - Dave NewtonstatusCode
和success
处理程序。这似乎是状态码的奇怪截断 - 我认为在例如https://github.com/jquery/jquery/blob/master/src/ajax.js中会有一些指示,但我没有看到任何明显将`jqXHR.status`从201/202更改为200的内容。 - Brian M. Hunt