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

从Site-A加载的JavaScript向Site-B发POST请求是否会触发CORS违规?

SOP/CORS策略场景疑问解答

第一个疑问解答

你的判断不完全准确,分两种情况说明:

  • 如果是属于简单请求范畴的POST请求(满足请求头仅包含安全头、Content-Type仅为application/x-www-form-urlencoded/multipart/form-data/text/plain三个值之一等条件):请求本身会正常发送到company-two.com的服务器,服务端也会正常处理请求,只是浏览器会校验响应的CORS头,校验不通过时会拦截响应内容,不让前端JavaScript读取返回结果,同时控制台抛出跨域错误,这种情况属于「请求发送成功但前端拿不到返回」,不是完全的请求失败。
  • 如果是属于非简单请求范畴的POST请求(比如Content-Type为application/json、携带自定义请求头等):浏览器会先发送OPTIONS预检请求,预检校验不通过的情况下,才不会发送实际的POST请求。

第二个疑问解答

你的判断也不完全准确:

  • 对于简单POST请求:只要company-two.com的响应头正确配置Access-Control-Allow-Origin: https://company-one.com(注意必须匹配请求源的完整协议+域名,端口不同也要对应配置),前端就可以正常读取响应内容。如果请求携带身份凭证(Cookie等),还需要额外配置Access-Control-Allow-Credentials: true,同时前端请求要开启withCredentials属性。
  • 对于非简单POST请求:仅配置Access-Control-Allow-Origin不够,还需要对OPTIONS预检请求的响应额外配置对应的Access-Control-Allow-Methods(允许POST方法)、Access-Control-Allow-Headers(允许请求携带的自定义头)等头信息,预检通过后实际POST请求才能正常拿到响应结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:15:03