带Authorization头的jQuery Ajax请求遇CORS错误,Python请求正常
解决办法
问题本质:浏览器发送带自定义请求头(如
Authorization)的请求时,会先触发OPTIONS预检请求。若目标服务器返回的Access-Control-Allow-Headers响应头中未包含Authorization,浏览器就会拦截后续的实际请求。而Python请求不受浏览器CORS规则限制,因此可以正常获取数据。可行解决方案:
- 调整服务器CORS配置:联系目标服务器管理员,将
Authorization添加到Access-Control-Allow-Headers的允许列表中,让浏览器通过预检请求。 - 使用后端代理:在自己的后端服务中编写中转接口,由后端向目标服务器发送带
Authorization的请求,前端再请求这个后端接口。由于前端与后端同域,不会触发CORS限制。 - 验证请求头格式:确认
Authorization的格式正确(比如Basic认证需要将API key进行Base64编码,既然Python请求能成功,这一步大概率没问题,但可再次核对)。
- 调整服务器CORS配置:联系目标服务器管理员,将
内容的提问来源于stack exchange,提问作者Rduan
相关产品推荐
相关产品推荐

