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/33483220/

相关文章:

angularjs - 如果首选语言加载失败, Angular 翻译不会尝试使用后备语言

javascript - Angular JS - 添加一个 jquery 插件到 jQlite

angularjs - 为 ng-model 解码 HTML 实体

java - Ajax PUT 请求接收空响应

java - Jetty 中的这个配置有什么问题吗?无法运行任何上下文

java - 如何配置 jetty 与 Guice 和 Vaadin 一起运行

javascript - Angular 2 : property becomes underfined

java - HttpClient 向本地主机请求的性能和生命周期

java - BufferedWriter 中的非英文字母

java - 无法在 Ubuntu 中将 Jetty9 安装为服务