2014-12-02 79 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