使用Javascript读取文本文件
read a text file using Javascript
我一直在尝试用Javascript读取一个文本文件,它成功了,但函数什么都不返回。
<!DOCTYPE html>
<html>
<body>
<head>
<style>
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
</style>
<script>
function loadFile(uri) {
var r = new XMLHttpRequest();
r.open('GET', uri, true);
r.onreadystatechange = function() {
if (r.readyState == 4) {
textlines=processFile(r.responseText);
}
}
r.send(null);
return textlines;
}
function processFile(fileContent) {
var lines= fileContent.split(''n');
return lines;
}
var lines=loadFile('ss.txt');
alert(lines[0]);
</script>
</head>
</body>
</html>
输出是一个消息对话框,上面写着:未定义。
问题是:
1) textlines
的定义与var textlines;
不同
2) 当状态为OK
时,将返回textlines
,但当您警告该值时,该行似乎在xml请求完成获取内容并返回之前执行。因此,当您检查(==4)
或生成一个函数并传递textlines
时,您应该提醒该值,以便它只有在设置好并准备好显示时才可用。代码如下所示[TESTED]
<script>
var textlines;
function processFile(fileContent) {
var lines= fileContent.split(''n');
return lines;
}
function printValue(textlines){
alert(textlines);
}
function loadFile(uri) {
var r = new XMLHttpRequest();
r.open('GET', uri, true);
r.onreadystatechange = function() {
if (r.readyState == 4) {
textlines = processFile(r.responseText);
printValue(textlines);
return textlines;
}
}
r.send(null);
return textlines;
}
var lines=loadFile('ss.txt');
</script>
更新:
如果您想在不生成函数和传递的情况下使用变量textlines
,您应该等待一段时间,直到xml请求完成才能获取内容,这样您就可以执行:
<script>
var textlines;
function processFile(fileContent) {
var lines= fileContent.split(''n');
return lines;
}
function loadFile(uri) {
var r = new XMLHttpRequest();
r.open('GET', uri, true);
r.onreadystatechange = function() {
if (r.readyState == 4) {
textlines = processFile(r.responseText);
return textlines;
}
}
r.send(null);
return textlines;
}
var line=loadFile('ss.txt');
setTimeout(function(){
alert(textlines);
},100);
</script>
相关文章:
- 可以设置输入类型=文件的文本框的高度
- 使用 jQuery 从选择标签中抓取文本
- 通过 NG 单击选择文件或文本区域数据
- 替换json文件中文本中的值
- 使用 casperjs 抓取文本节点的最快方法
- 如何分析 XML 文件和抓取文本值
- AJAX:结合上传文件和文本输入代码
- 从 URL 中抓取文本和媒体
- 从终端应用程序打开崇高,并获取添加到文件的文本的结果
- 动态更改SVG文件的文本
- 如何从URL中抓取文本并放置在JS数组中
- JS从文本框中抓取文本,传递给asp.net mvc ActionResult,但ActionResult参数显示为nu
- 如何在事件onclick中抓取文本
- 上传相同的文件到文本框后清除它,是不工作在Chrome
- 设置外部HTML文件的文本
- 如何从文本src抓取文本
- 如何用jQuery将一个文件作为文本字符串加载到某个变量中
- 从span标签中抓取文本
- jQuery迭代类元素,抓取文本,插入别处
- Magento::从javascript文件翻译文本