gpt4 book ai didi

angularjs - Angular 1.5,错误响应状态始终为-1

转载 作者:行者123 更新时间:2023-12-03 08:16:52 27 4
gpt4 key购买 nike

我在调用 API 时遇到问题,让我先解释一下架构。

整个字体端应用程序基于 AngularJS 1.5,托管在如下域中:app1.mydomain.com, app2.mydomain.com, appN.mydomain.com

我有一个 API(基于 Symfony2 - FOS Rest):

api.mydomain.com

服务器为Nginx,php5(fpm),CORS开放。

现在,让我们描述一下问题:

我正在为某些数据调用 API 端点:

    var data = {someProperty: someValue};
var $p = $resource($rootScope.apiDomain + '/some/endpoint', {}, {
get: {
method: 'GET'
}
}).get(data).$promise;
var request = $q.all({request: $p});

return request
.then(function (response) {
// code on success
}, function (error) {
// code on error
});

现在假设服务器的响应是 400 或 500 中的任何一个,那么在 ResponseError(拦截器)中我应该将此代码作为“状态”值获取

responseError: function (response) {
if (403 === response.status) {
// something on 403
}
// do something on other codes
return $q.reject(response);
}

无论后端服务器发回哪个响应码,response对象都包含以下内容:

Object {data: null, status: -1, config: Object, statusText: ""}

但是...我见过THIS ANSER这基本上就是我现在所拥有的...

所以:

  1. 有什么方法可以解决这个问题吗(我有,可以说完全有可能以任何方式配置后台和前台)
  2. 如果它不容易“解决”,那么怎么办?

最佳答案

嗯...

我终于设法让它工作了 - nginx.opencors 配置

解决方法:

(之前)

add_header 'Access-Control-Allow-Origin' "*";

ResponseObject:{数据:对象,状态:-1,配置:对象,statusText:“”

(之后)

add_header 'Access-Control-Allow-Origin' "*"always;

ResponseObject: {data: Object, status: 403, config: Object, statusText: "Forbidden"}

关于angularjs - Angular 1.5,错误响应状态始终为-1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39054967/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com