【发布时间】:2016-12-28 06:03:36
【问题描述】:
当我添加 Authorization 标头时,AngularJS 将我的 POST 请求转换为 OPTIONS:
$http({
url: ApiEndpoint + 'logout',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': UserService.getApiKey()
}
})
我正在使用我在浏览器中测试的 Ionic 开发一个混合移动应用程序,因为它是一个 CORS 请求。
我已经看到this 的问题了。建议的解决方法是更改我所做的Content-Type,并且它在没有Authorization 的情况下工作。使用Authorization 标头,请求再次更改为 OPTIONS 方法。
您能否提出客户端解决方案,因为您无法控制服务器 API。
谢谢。
【问题讨论】:
-
预检将在您的情况下触发,因为设置“授权”标头会使您的请求在 MDN 术语中不简单。唯一允许手动设置以分类为 simple 的标题是 Accept、Accept-Language、Content-Language 和 Content-Type。参考:developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS。不确定您是否可以避免飞行前,但您可以在给定的时间范围内缓存请求。
标签: javascript angularjs ionic-framework