Sev*_*Lee 6 http fetch cors preflight fetch-api
Chrome版本:57.0.2987
实际上,在较旧的Chrome版本中我也有这个问题.我Authorization在Request Header上添加了访问令牌,
fetch('https://example.com/endpoint', {
method: 'GET',
headers: {
'Authorization': 'Bearer ' + accesstoken
}
})
Run Code Online (Sandbox Code Playgroud)
我总是在Chrome中Access-Control-Allow-Headers:authorization使用响应标题除此之外,我的提取始终是请求方法:选项(不显示GET),然后Status Code在Chrome中为200 OK
但是如果我在Firefox(版本52.0.1)中运行相同的获取代码,一切都很好.我可以添加Authorization在请求标题正确.它不会显示Access-Control-Allow-Headers:authorization在响应头在Firefox.它将显示Authorization: Bearer accesstoken在Request标头上.
服务器端已经为我的请求标头处理了CORS ..
这是Chrome错误或我的代码错误?我应该怎么做才能让Authorization在请求头在Chrome是否正确?
正如@stackdave所说,跨域ajax时,浏览器在GET请求之前发送OPTIONS请求。然后浏览器将等待服务器响应。我的情况是服务器没有响应,所以浏览器只是停止 OPTIONS 状态。服务器需要处理这个问题,它仍然是 CORS 问题,而不是 fetch api bug 或问题。
| 归档时间: |
|
| 查看次数: |
7172 次 |
| 最近记录: |