Skip to main content
 首页 » 编程设计

jquery之在 Internet Explorer 中针对 CORS PATCH 请求出现 "Permission Denied"错误

2026年09月08日2dflying

对这个错误真的很困惑。当我尝试发出跨域 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" 

不太快速的解决方案

阅读这篇文章:Craft a P3P policy to make IE behave