我通过 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/33483220/