angularjs - Angular $http 状态 (-1)

标签 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: ""}

为什么会发生这种情况?

注意) 我在后端有一个 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/

相关文章:

AngularJS 服务不工作

javascript - Chart.js - IndexSizeError : Index or size is negative or greater than the allowed amount

javascript - Angular.js 发出重复请求但从未加载

javascript - 访问 angularjs 中的私有(private) $$state 变量

java - 使用 Camel Jetty 进行基本身份验证

java - Jetty 不发起部署 war

java - 如何更改tomcat或jetty下的Java webapp 'WEB-INF path'约定

javascript - 将字符串解码为 HTML 在 ui-grid Angularjs 中不起作用

c - 使用 winHttpApi 或套接字发送大文件是否明智?

Android 9 API 28 ONLY WebView 在某些设备上显示黑色弹出窗口