我使用jquery mobile创建了一个网络应用程序... 我想知道阅读文本文件的最佳方法是什么? 在这一刻,我有这个功能正常...但我不知道它们之间的差异,哪个更好用?或哪个最快......
功能1
function readfileAjax() {
$.get('txt/info.txt', function(txt) {
var lines = txt.split(/\n/);
var randLineNum = Math.floor(Math.random() * lines.length);
var text = lines[randLineNum];
var parts = text.split(/#/);
var fullText = parts[0] + " " + parts[1] + " " + parts[2];
$("#msg").append("<p>" + fullText + "</p>");
});
}
功能2
function readfileHttpRequest() {
var filePath = "txt/info.txt";
xmlhttp = new XMLHttpRequest();
//xmlhttp.overrideMimeType('text/plain');
xmlhttp.open("GET",filePath,false);
xmlhttp.send(null);
var fileContent = xmlhttp.responseText;
var lines = fileContent.split(/\n/);
var randLineNum = Math.floor(Math.random() * lines.length);
var text = lines[randLineNum];
var parts = text.split(/#/);
var fullText = parts[0] + " " + parts[1] + " " + parts[2];
$("#msg").append("<p>" + fullText + "</p>");
}
由于
答案 0 :(得分:0)
Function1使用包装XMLHttpRequest的jQuery。如果你已经有了jquery,那么整个使用它可能更容易。
虽然在性能方面两个功能之间没有真正明显的差异。
编辑: 使用function1的更多理由,没有理由使这个同步。 open set为false的第三个参数使请求同步,这使您无法改进并将阻止页面的交互性。同步调用意味着它只会阻止所有执行,直到请求完成。如果你将其切换为true,并使用回调,则没有明显的区别。