我通过 AngularJs $HTTP GET
调用后端服务/资源。当它不可用时,它会返回 404
并且 Chrome 网络选项卡显示它是 404
,如下所示:
Request Method:OPTIONS
Status Code:404 Not Found
但是在 AngularJs $HTTP
调用结果中,我得到 status=-1
而不是 404
:
{data: null, status: -1, config: Object, statusText: ""}
为什么会发生这种情况?
注意)
我在后端有一个 jetty 服务并启用了 CORS:
"Access-Control-Allow-Origin":"*"
"Access-Control-Allow-Headers": "origin, content-type, accept, authorization"
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS, HEAD"
最佳答案
它返回 -1,因为正如跟踪所示,GET 请求甚至尚未发送。已发送的是飞行前 OPTIONS 请求,该请求通过返回 404 阻止浏览器发送实际的 GET 请求。
您的服务器不应针对 OPTIONS 请求返回 404 响应。它应该返回 200 响应。
关于angularjs - Angular $http 状态 (-1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39011496/