我可以在没有任何服务器的情况下发送XHR请求吗?

时间:2020-05-16 16:30:39

标签: javascript ajax google-chrome

我已经完成了一个项目,该项目发送XHR请求以获取本地保存的JSON文件(该文件位于同一文件夹中)。 我使用带有“实时服务器”扩展名的VS Code。 当我使用Live Server打开html文件时,请求,响应和其他所有内容都可以正常工作。 但是,当我在不启动任何类型的本地服务器的情况下打开文件时,请求不会返回任何响应,而是注销错误-

(我正在使用Chrome)

Access to XMLHttpRequest at 'file:///G:/_PROJECTS/Graph%20Plotter/sample_data.json' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

我在网上搜索了此内容,发现了一些google文档,但不太了解。我想知道错误的根源以及如何解决? 如果您可以简化它,以便我理解它,我也将提供很大的帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

我需要有一个指向我的本地主机的HTTP服务器,以便能够在本地获取文件。 由于XHR需要一个网络来发送HTTP请求,因此我不能简单地获取本地文件而不必位于任何网络/服务器(Internet或本地服务器)上。导致出现chrome错误的原因是,出于安全和隐私方面的考虑,chrome已禁止获取本地文件而不在任何网络上