Ionic服务工作人员发送GET的OPTIONS



我目前正在使用Ionic从API获取数据。虽然最近几天它一直在工作,但我不知道它是怎么停止工作的。

我正在使用@angular/http进行请求。当不使用任何标头时,我的请求将转到GET方法,但由于我需要Authorization令牌,因此不起作用。

但是,如果我有标题通过:

let headers = new Headers();
headers.append('Authorization', this.bearerToken);            
let options = new RequestOptions({ headers: headers });

它也不起作用。请求转到OPTIONS方法,并返回:

Unauthorized header authorization

我可以在Ionic上做些什么来解决这个问题吗?或者我应该警告API开发人员,让他们做一些更改吗?

编辑:API开发人员正在使用Symfony和Nelmio CORS Bundle来处理这些设置

nelmio_cors:
defaults:
origin_regex: true
allow_origin: ['%env(CORS_ALLOW_ORIGIN)%']
allow_methods: ['GET', 'OPTIONS', 'POST', 'PUT', 'PATCH', 'DELETE']
allow_headers: ['Content-Type', 'Authorization']
max_age: 3600
paths:
'^/': ~

正如@Moshe所说,他们的配置应该包含一些Access-Control-Allow-Headers,而且他们显然确实包含了。。

当涉及到HTTP标头(如授权(时,客户端会发送一个OPTIONS请求,以检查服务器是否首先接受了标头。我的客户机-服务器关系也遇到过类似的问题。您必须在服务器中的访问控制允许标头中启用授权。

示例:

header('Access-Control-Allow-Headers: Content-Type, Authorization');

最新更新