仅使用javascript逐行读取文本文件
reading a text file line by line only with javascript
我不想要使用Node.js、FileReader或其他任何exept 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);
}
您可以尝试:axd setRequestHeader('Cache-Control', 'no-cache');
或者尝试:axd.open('GET', filePath+'?_=' + new Date().getTime()), true);
这将阻止您的服务器使用现金,因为每个请求都不同。
这可能是因为浏览器缓存了它。如果你发送一个几乎总是不同的参数,比如时间戳,你可以禁用缓存。或者您可以尝试使用POST,因为POST请求永远不会被缓存。
您不允许直接使用ajax请求本地文件,您需要一个服务器来为它们提供服务。浏览器是沙盒式的,通常无法打开本地文件。这是一种安全措施——想象一下,如果任何网站被允许打开你的文件,会发生什么!
有一些方法可以为您的图像设置一个简单的服务器,比如http服务器。这允许您直接从选定的目录中提供文件,如下所示:
npm install -g http-server
http-server path-to-text-files/
然后您可以使用ajax正常请求文件,请求的路径与您的服务器所服务的路径相对,如下所示:
url = "/dir/subdir/text-file.txt";
...
ajax.open('GET', url, true);
...
ajax.send(null);
相关文章:
- 使用 jQuery 从选择标签中抓取文本
- 如何使用javascript中的get命令读取本地文本文件
- 从变量中读取html文本
- 使用 casperjs 抓取文本节点的最快方法
- 如何分析 XML 文件和抓取文本值
- 从 URL 中抓取文本和媒体
- 使用 Javascript 读取本地文本文件
- 读取本地文本字符集问题
- 读取本地文本文件函数不返回字符串类型,而是返回一个void类型
- 如何使用html/javascript逐行读取/解析文本文件
- 如何从URL中抓取文本并放置在JS数组中
- 如何使用javascript读取本地文本文件
- JS从文本框中抓取文本,传递给asp.net mvc ActionResult,但ActionResult参数显示为nu
- 如何在事件onclick中抓取文本
- 从本地javascript文件读取本地文本文件
- 如何使用html/javascript读取本地文本文件
- 使用JQuery在Ajax中读取响应文本
- 在javascript中读取本地文本文件
- 如何从文本src抓取文本
- 从当前url读取特定文本并分配给文本框