小编Art*_*xes的帖子

jQuery AJAX GET/POST 请求在错误处理程序中返回 404,但从服务器发送有效响应

问题:我使用 jQuery.ajax 发送 GET 或 POST 请求,并得到一个由 404 触发的错误处理程序。问题是,我使用嗅探器检查来自服务器的答案,它是一个有效的 200 响应,带有正确的 JSON(返回通过 Python json.dumps)。还有一些奇怪的事情:在这个调用以 404 结束后,浏览器会重新加载页面。

一切都生活在同一个域(以及子域)中。

jQuery 调用:

$.ajax({type: "POST", url: "/m/auth/login", data: {x: "y"},
success: function(result) {}, error: function(xhr) {}, dataType: "json"});
Run Code Online (Sandbox Code Playgroud)

嗅探器看到的响应,有效载荷已解压缩:

HTTP/1.1 200 OK\r\n
Content-Type: text/html; charset=utf-8\r\n
Cache-Control: no-cache, must-revalidate\r\n
Content-Encoding: gzip\r\n
X-AppEngine-Estimated-CPM-US-Dollars: $0.000018\r\n
X-AppEngine-Resource-Usage: ms=71 cpu_ms=0\r\n
Vary: Accept-Encoding\r\n
Date: Tue, 24 Dec 2013 21:04:36 GMT\r\n
Pragma: no-cache\r\n
Expires: Fri, 01 Jan 1990 00:00:00 GMT\r\n
Server: Google Frontend\r\n
Content-Length: 80\r\n
Alternate-Protocol: 80:quic,80:quic\r\n
\r\n
{"reason": {"password": "missing", …
Run Code Online (Sandbox Code Playgroud)

ajax jquery google-app-engine json http-status-code-404

5
推荐指数
1
解决办法
2万
查看次数