Javascript 从本地文本文件读取并更新html标记中的内容

Javascript 从本地文本文件读取并更新html标记中的内容,javascript,localhost,local,Javascript,Localhost,Local,我需要阅读一个本地文本文件,并用文本文件的内容更新我的html页面。 我在嵌入式系统上工作时没有那么多浏览器支持 但它给出了以下错误: XMLHttpRequest无法加载file:///C:/Documents%20and%20Settings/aryas/Desktop/localtoken.txt. 跨源请求仅支持HTTP。 代码如下 <script> window.onload = function readTextFile() { console.log("

我需要阅读一个本地文本文件,并用文本文件的内容更新我的html页面。 我在嵌入式系统上工作时没有那么多浏览器支持

但它给出了以下错误:

XMLHttpRequest无法加载file:///C:/Documents%20and%20Settings/aryas/Desktop/localtoken.txt. 跨源请求仅支持HTTP。

代码如下

   <script>

window.onload = function readTextFile()
{
    console.log("Inside function");
    var file = "localtoken.txt";
    var rawFile = new XMLHttpRequest();
    rawFile.open("GET", file, true);
    rawFile.onreadystatechange = function ()
    {
        if(rawFile.readyState === 4)
        {
            if(rawFile.status === 200 || rawFile.status == 0)
            {
                var allText = rawFile.responseText;
                document.getElementById("token").innerHTML = allText;

            }
        }
    }
    rawFile.send(null);
}
</script>

window.onload=函数readTextFile()
{
console.log(“内部函数”);
var file=“localtoken.txt”;
var rawFile=new XMLHttpRequest();
打开(“GET”,file,true);
rawFile.onreadystatechange=函数()
{
if(rawFile.readyState==4)
{
if(rawFile.status==200 | | rawFile.status==0)
{
var allText=rawFile.responseText;
document.getElementById(“令牌”).innerHTML=allText;
}
}
}
rawFile.send(空);
}

将此文本文件与index.html放在同一目录下。
在ajax请求中,您的路径看起来像是在您的网站上——“readfile.txt”

您需要将文件URL传递到XMLHttpRequest

xmlhttp.open('GET', 'http://localhost/file.txt', false);

为此,您需要配置一个可以处理您的请求的Web服务器。例如,您可以安装Apache服务器并启动它,然后在其中部署file.txt。浏览器向Web服务器发送file.txt请求后,Web服务器将返回文件和响应,您可以使用与问题中所述相同的方法进行处理。

简短回答: 你不能做你想做的事,因为你现在正在做。您必须在web服务器中提供文件。试试看,或者


长答案: 从您收到的错误中,您必须打开index.html文件(包含脚本的文件),而不从web服务器提供该文件(要确认这一点,请让我问:浏览器中的URL是否以
文件开始://
?)

正如类名所述,
XMLHttpRequest
仅支持HTTP/HTTPS请求(BLOBURI正在开发中,如下所述:)

事实上,如果用户不手动选择文件,您将无法从文件系统加载/保存文件,因为这是一种安全威胁(假设您打开一个网站,它加载了您的
C:
并将其发送到服务器,您希望网站这样做吗?)


要加载
localtoken.txt
文件,请在轻型小型Web服务器中提供这些文件(当您在嵌入式系统上工作时)。我在简短回答中建议的那些满足了这些要求,但从这一点来看,Mongoose似乎是一条出路。

请说明您希望代码运行的设备/浏览器。您将无法使用XMLHttpRequest来实现这一点,您也不能使用HTML5文件访问API,因为它们要求用户手动选择文件。你调查过本地存储吗?或者考虑远程存储文件数据?@Shiva正在使用Qt创建的自定义浏览器中工作。它在xi3机顶盒上。@AlexK。请您再解释一下本地存储的含义好吗?似乎不可能远程存储文件。它必须在当地居住。