2014-12-02 39 views
-2

我正在使用jquery mobile创建一个web应用程序... 我想知道什么是最好的方式来阅读文本文件? 在这一刻,我有这个功能正常工作......但我不知道他们之间的差异,哪一个更好用?或者是最快的...webapp读取文本文件ajax,httprequest,或

功能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

了解您正在使用的功能。 http://api.jquery.com/jquery.get/ – epascarello 2014-12-02 03:04:14

回答

0

功能1使用jQuery的,它封装了XMLHttpRequest。如果你已经有jQuery,那么整个使用它可能会更容易。

尽管在性能方面两种功能之间没有真正明显的区别。

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

+0

第二个是同步,这是一个巨大的差异... – dandavis 2014-12-02 02:52:38

+0

@dandavis你真的明白了! :) – 2014-12-02 02:58:35