0
function readTextFile(file) {     
    var rawFile = new XMLHttpRequest();

    rawFile.open("GET", file, false);   
    rawFile.onreadystatechange = function () {   
        if(rawFile.readyState === 4) {   
            if(rawFile.status === 200 || rawFile.status == 0) {   
                var allText = rawFile.responseText;    

            }
        }
    }
    rawFile.send(null);
}


readTextFile('file:///C:/test.txt');

它与消息错误:

testini:41 从源“ http://localhost:54862 ”访问“file:///C: /test.txt”的 XMLHttpRequest已被 CORS 策略阻止:跨源请求仅支持协议方案:http,数据,铬,铬扩展,https。

4

2 回答 2

2

我假设您使用 Google Chrome,它也将同源策略应用于文件系统。

你可以:

  • 使用允许请求的 Firefox
  • 启用启用的chrome --disable-web-security(您可以使用终端执行此操作)。不建议这样做,并且您不应在启用此标志的情况下浏览其他网站。

如果您不是特别需要访问文件系统,您可以安装一个本地 Web 服务器,它会回复,Access-Control-Allow-Origin: *以便在端口 54862 上运行的服务器可以访问您的文件。

于 2019-11-25T08:57:51.810 回答
-1

此错误意味着您需要在服务器侦听上启用 CORS。

例如,这里是如何在 Node JS 中执行此操作:https ://dzone.com/articles/cors-in-node

CORS 将允许您的服务器处理跨源请求。希望这可以帮助

于 2019-11-25T08:55:54.430 回答