在一个 jquery-mobile 网络应用程序中,我使用 $.get 将一个 txt 文件读入一个数组:
$(document).on('pageinit','#welcome-page', function(){
var request = $.get("proDB.txt", function(data) {
var lines=data.split(/\n/);
var i;
prodata.push(0);
var fieldnames=lines[0].split(/\t/);
for (i = 1; i < lines.length-1; ++i) {
var fields=lines[i].split(/\t/);
prodata.push(i);
var j;
prodata[i]={};
prodata[i]['id']=i; //auto id, there is no more 'id' column in the DB file.
for (j = 0; j < fields.length; ++j) {
var str=fieldnames[j];
prodata[i][str]=fields[j];
}
}
//SORT BY NAME
prodata.sort(SortByName);
alert("request"+request);
}, "text");
然后在代码的后面,我确保 $.get 完成并使用数组:
request.done(function(){...
但是alert
它不会在 safari 的 iOs 中弹出,而它会在 android 浏览器和桌面 firefox 中弹出。
此外,我对此真的很不满意,因为我想在一个单独的函数中一劳永逸地读取文件,然后能够根据需要在数组上工作。
有没有一种更简洁的方法可以随我的应用程序一起发布并将这个文本文件读入一个数组,而不必担心它是否是“.done”?喜欢pagebeforecreate
或类似的东西?我不得不提一下,我从中读取数据的文件有时必须更新,因为他的服务器端克隆会发展。
谢谢