在Internet Explorer中为CORS PATCH请求获取“权限被拒绝”错误

时间:2014-08-25 19:56:00

标签: jquery internet-explorer cors http-patch

这个bug真的很困惑。所有版本的IE,甚至那些支持CORS的版本,在我尝试发出跨域PATCH请求时都会抛出“权限被拒绝”错误(使用jQuery.ajax)。所有其他方法(甚至PUT)都能正常工作,但PATCH会在send()调用时触发立即错误。

考虑到IE的后续版本支持CORS,并且据称支持所有方法类型,是否有一些原因导致CORS + PATCH会导致错误?

(是的,Access-Control-Allow-Methods设置为GET, POST, DELETE, PATCH, PUT, OPTIONS所以我不认为这是问题。)

1 个答案:

答案 0 :(得分:0)

IE需要P3P策略标头才能使CORS正常工作。试试这个:

快速解决方案尝试

确保在服务器发送的标头中找到它:

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