5

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

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

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

4

1 回答 1

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"

不那么快的解决方案

阅读本文:制定 P3P 策略以使 IE 正常运行

于 2015-01-27T08:31:58.607 回答