在使用ajax显示TXT文件之前加载TXT文件
Loading TXT files before displaying them with ajax
我正在js中开发一个小型文本游戏,我发现保存文本的最简单方法是使用文本文件。我可以在不同的文件夹中订购它们,它们非常轻,很容易识别和编辑,以防我需要更改。
我正在使用ajax 加载它们
$.ajax({
url: 'text/example.txt',
success: function(text){
document.getElementById("main").innerHTML = document.getElementById("main").innerHTML + text;
}
});
正如在另一个帖子中向我建议的那样。
老实说,到目前为止,它在单一情况下运行得很好。当只需要显示一个TXT文件时,实际上没有问题。但是,不幸的是,在需要以正确的顺序显示许多不同的文件(比如说大约10个不同的文件)的情况下,文本会变得混乱,加载不正常。我想这是因为它无法足够快地获取txt文件。
所以在这一点上,我真的不太确定该怎么办
有没有办法让我的脚本在打印下一段文本之前等待,然后再显示尚未加载的文本?
也许是一种在访问网站时加载所有txt文件的方法?
我的知识非常有限,所以我真的不确定如何解决这个问题。
试着在谷歌和stackoverflow上搜索,我发现的线程都没有帮助我,也许是因为我真的不是专家。
您可以通过回调实现,以下方式会在它们完成后逐一调用ajax:
//setup an array of AJAX url
var ajaxes = [{ url : 'text/example.txt'}, { url : 'text/example1.txt'}],
current = 0;
//declare your function to run AJAX requests
function do_ajax() {
//check to make sure there are more requests to make
if (current < ajaxes.length) {
//make the AJAX request with the given data from the `ajaxes` array of objects
$.ajax({
url : ajaxes[current].url,
success : function (text) {
document.getElementById("main").innerHTML = document.getElementById("main").innerHTML + text;
//increment the `current` counter and recursively call this function again
current++;
do_ajax();
}
});
}
}
//run the AJAX function for the first time when you want
do_ajax();
相关文章:
- 如何从txt文件中获取要在javascript数组中使用的对象
- 将变量传递到.txt文件
- 读取不带fs的txt文件nodejs(来自url)
- 用javascript或html5编辑txt文件
- 如何使用jQuery获取txt文件数据中的行数
- 将.txt文件放入文本区域
- 读取外部local.txt文件以将数据加载到数组中
- 使用Javascript动态读取和显示txt文件
- JSON请求返回.txt文件
- 使用 javascript 读取.txt文件
- 如何遍历.txt文件并在javascript中获取值
- 读取一个动态填充的txt文件
- p5.js:如何根据HTML页面使我的草图加载不同的.txt文件
- HTML-从javascript中的URL位置读取.txt文件
- 使用javascript从浏览器打印XML或TXT文件
- 采购<p>从.txt文件.HTML
- 使用processing.js/javascript在dropbox中写入txt文件
- 如何检查内容txt文件是否已更改
- 如何将Javascript中的转义符转换为.txt文件
- .txt文件和.json文件同样适合存储javascript对象