Angular $ http状态(-1)

时间:2015-11-02 17:16:19

标签: angularjs http jetty

我通过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: ""}

为什么会这样?

NB) 我在后端有一个码头服务并启用了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 个答案:

答案 0 :(得分:12)

它返回-1,因为跟踪显示,甚至没有发送GET请求。已发送的是飞行前OPTIONS请求,通过返回404,阻止浏览器发送实际的GET请求。

您的服务器不应该为OPTIONS请求返回404响应。它应该返回200响应。