You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用XHR请求API出现CORS错误、Postman请求正常问题咨询

问题属性判定

这是纯服务端配置问题,你没有遗漏必要请求头,代码的核心配置没有错误。

CORS报错的原因

浏览器遵循同源策略,跨域发起请求时会自动先发送OPTIONS预检请求,要求目标服务端返回符合规则的CORS响应头(最基础的就是Access-Control-Allow-Origin),如果响应头缺失或者不符合规则,就会直接拦截请求。
而Postman属于独立客户端工具,不会执行同源策略的CORS校验,所以就算服务端没有返回CORS头也能正常拿到结果,和你前端的请求头配置没有关系。

"拒绝设置不安全标头Host"的说明

Host、Accept-Encoding、Connection都属于浏览器规范中禁止前端脚本手动修改的标头,会由浏览器自动生成填充,你不需要手动设置,这个报错是正常行为,和CORS问题没有关联。

解决方案

  • 方案1:联系api.cloud.im的服务端维护人员,添加CORS配置:
    • 将你的站点源http://www.im-cmp.ch添加到CORS白名单,注意你开启了xhr.withCredentials = true,所以Access-Control-Allow-Origin不能返回通配符*,必须返回明确的域名
    • 新增Access-Control-Allow-Credentials: true响应头
    • 将你用到的自定义请求头X-Subscription-Key、Authorization等添加到Access-Control-Allow-Headers响应头
    • 确保OPTIONS预检请求的响应状态码为200/204
  • 方案2:如果无法联系对方修改配置,你可以在自己的服务端新增一层请求代理:前端先请求同域的你的后端接口,由后端转发请求到api.cloud.im,再将结果返回给前端,绕开浏览器的跨域限制。

代码优化建议

你当前使用的是GET请求,没有携带JSON格式的请求体,Content-Type: application/json这个请求头可以移除,不影响请求结果。

内容的提问来源于stack exchange,提问作者JonasKaufmannBambus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 01:24:01