“XMLHttpRequest无法加载文件:/// ...预检响应不成功”错误

时间:2017-12-15 21:15:55

标签: jquery safari xmlhttprequest

我正在构建一个网站,该页面使用Jquery .load()函数加载导航栏和其他一些资源(如下面的代码所示)。

<script>
        $(function () {
            $("#navbar-placeholder").load("subpage_navbar.html");
        });
</script>

在safari 5中在我的计算机上本地查看.html文件时一切正常,并且它曾经在safari 11中正常工作,但现在当我尝试打开文件时出现错误:

XMLHttpRequest无法加载file:/// ...预检响应不成功

我是否需要在safari中更改任何首选项才能使其像以前一样工作?

1 个答案:

答案 0 :(得分:2)

XMLHttpRequest仅与http,data,chrome,chrome-extension,https一起使用文件协议。

您需要托管您的文件或使用类似此链接的内容来实现此目的。

Allow Google Chrome to use XMLHttpRequest to load a URL from a local file

在Safari 11中,文件协议访问受限。

[来自file://的CORS和跨域访问现在已被阻止,除非从“开发”菜单中选择了“禁用本地文件限制”。]