使用Javascript读取本地文本文件无效

使用Javascript读取本地文本文件无效,javascript,Javascript,它会显示错误消息: testini:41在'file:///C:/test.txt“来自源”已被CORS策略阻止:跨源请求仅支持协议方案:http、数据、chrome、chrome扩展、https 此错误意味着您需要在服务器上启用CORS侦听 例如,下面介绍如何在Node JS中执行此操作: CORS将允许您的服务器处理跨源请求。希望这对您有所帮助,我假设您使用的是Google Chrome,它也将同源策略应用于文件系统 你可以: 使用允许请求的firefox 启动chrome时启用--禁用网

它会显示错误消息:

testini:41在'file:///C:/test.txt“来自源”已被CORS策略阻止:跨源请求仅支持协议方案:http、数据、chrome、chrome扩展、https


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

例如,下面介绍如何在Node JS中执行此操作:


CORS将允许您的服务器处理跨源请求。希望这对您有所帮助,我假设您使用的是Google Chrome,它也将同源策略应用于文件系统

你可以:

  • 使用允许请求的firefox
  • 启动chrome时启用<代码>--禁用网络安全性(您可以使用终端完成此操作)。不建议您这样做,并且您不应该在启用此标志的其他网站中导航

如果您不特别需要访问文件系统,您可以安装一个本地web服务器,该服务器将以
访问控制允许源代码:
进行回复,以便运行在端口54862上的服务器可以访问您的文件。

尝试使用提供的搜索引擎:出于安全原因,您无法使用客户端技术访问本地驱动器而不使用。这肯定不是node.js问题。是的,我提供了节点文档作为示例来支持回答,不知道如何处理服务器侦听。只是试图帮助这里的错误明确地说:“跨源请求只支持协议方案:http、数据、chrome、chrome扩展、https。”。OP正在这里使用
文件://
。启用CORS并不能解决这个问题。(如果您能够为本地文件系统启用它。)好的,谢谢您向我解释这一点。
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');