webapp读取文本文件ajax,httprequest或

时间:2014-12-02 02:42:45

标签: javascript jquery jquery-mobile web-applications

我使用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>");
}

由于

1 个答案:

答案 0 :(得分:0)

Function1使用包装XMLHttpRequest的jQuery。如果你已经有了jquery,那么整个使用它可能更容易。

虽然在性能方面两个功能之间没有真正明显的差异。

编辑: 使用function1的更多理由,没有理由使这个同步。 open set为false的第三个参数使请求同步,这使您无法改进并将阻止页面的交互性。同步调用意味着它只会阻止所有执行,直到请求完成。如果你将其切换为true,并使用回调,则没有明显的区别。