通过HTTP请求返回文本文件作为数组javascript
Return text file through HTTP request as an array javascript
我在开发我的网站时遇到了一个障碍。我需要它在同一目录下拉一个文本文件,并将每行作为数组返回。
所以我做了我的研究,想出了一个似乎足够简单的函数。然而,当我alert(theArray);它返回undefined。我做错了什么?
function pullText(x)
{
var fullText = [];
fileReturn=new XMLHttpRequest();
fileReturn.onreadystatechange=function()
{
if (fileReturn.readyState==4 && fileReturn.status==200)
{
entireTextFile = fileReturn.responseText;
// alert(entireTextFile); works as expected here
lines = fileReturn.responseText.split("'n");
// alert(lines); works as expected here
fullText = lines;
}
}
// alert(fullText); does not work.
fileReturn.open("GET",x,true);
fileReturn.send();
return fullText;
}
因为AJAX是同步的,所以它不会这样工作。你应该传递一个回调处理程序,并在文档准备好后调用它。
function pullText(x, callback)
{
// var fullText = []; not necessary
fileReturn=new XMLHttpRequest();
fileReturn.onreadystatechange=function()
{
if (fileReturn.readyState==4 && fileReturn.status==200)
{
entireTextFile = fileReturn.responseText;
// alert(entireTextFile); works as expected here
lines = fileReturn.responseText.split("'n");
// alert(lines); works as expected here
callback(lines);
}
}
// alert(fullText); does not work.
fileReturn.open("GET",x,true);
fileReturn.send();
}
pullText(whatever, function(lines) {
// use lines here
});
相关文章:
- 如何遍历包含对象的数组-javascript
- 保存数组javascript
- 查找数组javascript中包含的元素类型
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 从多维数组javascript中提取特定值
- 如何在数组javascript中选择伪随机值
- 拆分字符串数组(JavaScript)后未定义
- 从数组JavaScript中删除并返回最后n个项的最快方法
- 使用条件for循环更新数组-Javascript
- 从数组javascript创建新对象
- 用数组(javascript)中的值替换regex捕获
- 从数组[Javascript]的总长度中减去一个干净的数字
- 将一个字符串数组解析为一个新的数组javascript
- 如何将对象转换为对象数组javascript
- 赢得't循环数组javascript
- 从不同的数组 JavaScript 中获取值
- 多维数组 JAVASCRIPT 出了点问题
- 可以't分配给一个对象数组javascript
- 比较数组JavaScript中的对象
- 如何完成缺少(连续)元素的数组|Javascript