【发布时间】:2018-06-04 22:59:17
【问题描述】:
我必须在我的 Angular5 应用程序中通过 CORS 使用 API,但是这个特定的 api 不允许 CORS 配置中的 Content-Type 标头。我的 Angular 应用程序当前正在发送此标头,并且由于我正在发送 API 的 CORS 配置未明确允许的标头,因此预检检查失败。有没有办法删除这个特定请求的这个标头?
我正在考虑创建一个拦截器,但这是删除此标头的最合适的位置吗?
【问题讨论】:
标签: angular
我必须在我的 Angular5 应用程序中通过 CORS 使用 API,但是这个特定的 api 不允许 CORS 配置中的 Content-Type 标头。我的 Angular 应用程序当前正在发送此标头,并且由于我正在发送 API 的 CORS 配置未明确允许的标头,因此预检检查失败。有没有办法删除这个特定请求的这个标头?
我正在考虑创建一个拦截器,但这是删除此标头的最合适的位置吗?
【问题讨论】:
标签: angular
这里的解决方案是不使用 Angular 的 HttpClient 而是使用 fetch api。我想不出一种使用 HttpClient 并删除“Content-Type”标头的方法,即使我编写了一个拦截器并明确删除了这个标头,它又被添加回了某个地方。
这是我最终做的:
return fetch( environment.splunk_config.url, {
body: JSON.stringify(_message),
method: 'POST',
mode: 'cors',
headers: { 'Authorization': auth }
}
)
.then(response => response.json());
}
【讨论】: