Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅使用javascript逐行读取文本文件_Javascript_Html - Fatal编程技术网

仅使用javascript逐行读取文本文件

仅使用javascript逐行读取文本文件,javascript,html,Javascript,Html,我不希望解决方案使用Node.js、FileReader或任何除javascript之外的东西! 在开发html页面时,我遇到了如下问题: 我通过这个过程得到了准确的结果,不幸的是,这个过程记住了第一个登录页面的结果。无论文本文件同时更改内容是什么,该过程都会返回第一个结果。 有人能给点建议吗 var filePath = "../../dir/sub dir/text_file.txt"; function getBackData(filePath){ var axd, i, artx

我不希望解决方案使用Node.js、FileReader或任何除javascript之外的东西! 在开发html页面时,我遇到了如下问题: 我通过这个过程得到了准确的结果,不幸的是,这个过程记住了第一个登录页面的结果。无论文本文件同时更改内容是什么,该过程都会返回第一个结果。 有人能给点建议吗

var filePath = "../../dir/sub dir/text_file.txt";
function getBackData(filePath){
    var axd, i, artx, txli, tdr;
    if(window.XMLHttpRequest){
        axd = new XMLHttpRequest();
    }else{
        axd = new ActiveXObject("Microsoft.XMLHTTP");
    }
    axd.open('GET', filePath, true);
    axd.onreadystatechange = function(){
        if(axd.readyState == 4 && axd.status == 200){
            artx = axd.responseText;
            txli = artx.split("\n"); 
            for(i = 0; i < txli.length; i++){
                alert(txli[i]);
            }
        }
    }
    axd.send(null);
}
var filePath=“../../dir/sub dir/text_file.txt”;
函数getBackData(文件路径){
var axd、i、artx、txli、tdr;
if(window.XMLHttpRequest){
axd=新的XMLHttpRequest();
}否则{
axd=新的ActiveXObject(“Microsoft.XMLHTTP”);
}
axd.open('GET',filePath,true);
axd.onreadystatechange=函数(){
如果(axd.readyState==4&&axd.status==200){
artx=axd.responseText;
txli=artx.split(“\n”);
对于(i=0;i
这可能是因为浏览器缓存了它。如果发送的参数几乎总是与时间戳不同,则可以禁用缓存。或者您可以尝试使用POST,因为POST请求从不缓存。

这可能是因为浏览器缓存了它。如果发送的参数几乎总是与时间戳不同,则可以禁用缓存。或者您可以尝试使用POST,因为POST请求从不缓存。

您可以尝试:
axd setRequestHeader('Cache-Control','no-Cache')


或者尝试:
axd.open('GET',filePath+'?='+new Date().getTime()),true)
这将阻止服务器使用现金,因为每个请求都不同。

您可以尝试:
axd setRequestHeader('Cache-Control','no-Cache')


或者尝试:
axd.open('GET',filePath+'?='+new Date().getTime()),true)这将阻止您的服务器使用现金,因为每个请求都是不同的。

不允许您直接使用ajax请求本地文件-您需要一个服务器来为其提供服务。浏览器处于沙盒状态,通常无法打开本地文件。这是一个安全措施-想象一下如果任何网站被允许打开你的文件会发生什么

有几种方法可以为您的图像设置一个简单的服务器,如。这允许您直接从所选目录提供文件,如下所示:

npm install -g http-server
http-server path-to-text-files/
url = "/dir/subdir/text-file.txt";
...
ajax.open('GET', url, true);
...
ajax.send(null);
然后,您可以使用ajax请求文件,请求路径与服务器所服务的路径相对,如下所示:

npm install -g http-server
http-server path-to-text-files/
url = "/dir/subdir/text-file.txt";
...
ajax.open('GET', url, true);
...
ajax.send(null);

不允许您直接使用ajax请求本地文件-您需要一个服务器来为它们提供服务。浏览器处于沙盒状态,通常无法打开本地文件。这是一个安全措施-想象一下如果任何网站被允许打开你的文件会发生什么

有几种方法可以为您的图像设置一个简单的服务器,如。这允许您直接从所选目录提供文件,如下所示:

npm install -g http-server
http-server path-to-text-files/
url = "/dir/subdir/text-file.txt";
...
ajax.open('GET', url, true);
...
ajax.send(null);
然后,您可以使用ajax请求文件,请求路径与服务器所服务的路径相对,如下所示:

npm install -g http-server
http-server path-to-text-files/
url = "/dir/subdir/text-file.txt";
...
ajax.open('GET', url, true);
...
ajax.send(null);

多亏了O_Z.的快速高效响应,。我已经采纳了你的建议,现在效果很好!我很感谢其他人,他们的建议也很有帮助。对不起,欧兹,我不太明白你说的“你为什么不接受我?”的确切意思。@Borache在我这个级别上,这表明你接受了我的答案,然后又不接受了。可能是stackoverflow中的一个错误。我不相信这是程序中的一个错误,而是我笨拙中的一个错误!也就是说,因为这是我在这个论坛上的第一篇帖子,我试图检查这三篇文章是否有用,结果弄得一团糟,这显然是不允许的。现在你的回答被标记为我成功使用的建议。尽管其他两个委员会的方向相同。给您带来的不便,我深表歉意。我欠你一个人情。多亏了欧兹的迅速而有效的反应,。我已经采纳了你的建议,现在效果很好!我很感谢其他人,他们的建议也很有帮助。对不起,欧兹,我不太明白你说的“你为什么不接受我?”的确切意思。@Borache在我这个级别上,这表明你接受了我的答案,然后又不接受了。可能是stackoverflow中的一个错误。我不相信这是程序中的一个错误,而是我笨拙中的一个错误!也就是说,因为这是我在这个论坛上的第一篇帖子,我试图检查这三篇文章是否有用,结果弄得一团糟,这显然是不允许的。现在你的回答被标记为我成功使用的建议。尽管其他两个委员会的方向相同。给您带来的不便,我深表歉意。我欠你一个人情。