首页 > 解决方案 > CORS 在 MS Edge 中被阻止,但适用于所有其他浏览器

问题描述

设置:

var xhr = new XMLHttpRequest()
xhr.open('GET', url)
[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "GET",
            "PUT",
            "POST",
            "DELETE",
            "HEAD"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": []
    }
]

问题

仅在 MS Edge* 中,使用FileSaver.js,在 S3 中保存资源的任何尝试都会失败blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

标签: cors

解决方案


我终于想出了一个可能的“为什么”和一个解决方法。

解决方法是使用beta Edge 版本

我认为请求被阻止是因为Origin在 Edge 中运行 XMLHttpRequest 时缺少请求标头。

我希望其他人能找到这个并且可以停止旋转他们的轮子!如果您在面向客户端的应用程序中使用它,这并不是很有帮助。

更多细节可能来自这里:参考:https ://docs.microsoft.com/en-us/answers/questions/314369/xmlhttprequest-getting-blocked-by-cors-policy-in-e.html?childToView=318134 #comment-318134

我还打开了 FileSaver.js 的问题,以防您以与我相同的方式来到这里并希望 FileSaver 工作。


推荐阅读