对这个错误真的很困惑。当我尝试发出跨域 PATCH 请求(使用 jQuery.ajax)时,所有版本的 IE,甚至是那些支持 CORS 的版本,都会抛出“权限被拒绝”错误。所有其他方法(甚至 PUT)都可以正常工作,但 PATCH 会在 send() 调用上立即触发错误。
考虑到更高版本的 IE 支持 CORS,并且据说支持所有方法类型,是否有某种原因导致 CORS + PATCH 会导致错误?
(是的,Access-Control-Allow-Methods 设置为 GET、POST、DELETE、PATCH、PUT、OPTIONS,所以我认为这不是问题。)
请您参考如下方法:
IE 需要 P3P 策略 header 才能使 CORS 正常工作。试试这个:
快速解决方案尝试
确保在服务器发送的 header 中找到此内容:
P3P: CP="NON DSP LAW CUR ADM DEV TAI PSA PSD HIS OUR DEL IND UNI PUR COM NAV INT DEM CNT STA POL HEA PRE LOC IVD SAM IVA OTC"
不太快速的解决方案
