2012-09-01 145 views
1

假設我的網絡服務器上有一個文本文件,位於/today/changelog-en.txt之下,該文件存儲有關網站更新的信息。每個部分都從一個版本號開始,然後是一系列更改。在javascript中讀取第一行文本文件

因此,文件的第一行總是包含最新的版本號,我想用普通的JavaScript (無jQuery)讀出。這是可能的,如果是的話,如何?

+0

是外部可用的文件嗎?即:是否可以通過XHR/AJAX請求到達? – Christopher

+0

對AJAX不瞭解。 – SeinopSys

+0

您是否假設能夠提供可能導致有問題的txt文件的url?如果是這樣,我可以告訴你寫什麼代碼來實現你要找的結果。 – Christopher

回答

4

這應該很簡單,使用XHR。像這樣的東西會工作對你罰款:

var XHR = new XMLHttpRequest(); 
XHR.open("GET", "/today/changelog-en.txt", true); 
XHR.send(); 
XHR.onload = function(){ 
    console.log(XHR.responseText.slice(0, XHR.responseText.indexOf("\n"))); 
}; 
+0

我該如何使這個HTML文件的工作? 編輯:現在有道理:D – SeinopSys

+0

@ DJDavid98只需將它放在'script'標記中即可。在看到'console.log'的地方,放一些使用版本號的函數。 –

+0

是的,我知道,只有1行是從頂部missong。很棒! – SeinopSys

2

所以看到的txt文件是外部可用,即:對應於一個URL,我們可以做一個XHR/AJAX請求來獲取數據。注意沒有jQuery,所以我們將寫一些更詳細的香草JavaScript。

var xmlHttp; 

function GetData(url, callback) { 

    xmlHttp = new XMLHttpRequest(); 
    xmlHttp.onreadystatechange = callback; 
    xmlHttp.open("GET", url, true); 
    xmlHttp.send(null); 
} 

GetData("/today/changelog-en.txt" , function() { 

    if (xmlHttp.readyState == 4 && xmlHttp.status == 200 { 

     var result = xmlHttp.responseText; 
     var allLines = result.split("\n"); 

     // do what you want with the result 
     // ie: split lines and show the first line 

     var lineOne = allLines[0]; 

    } else { 
     // handle the error 
    } 
}); 
+0

對不起,但Amaan的版本更加緊湊​​。這並不意味着你的不好,只是我喜歡以最簡單的方式來做到這一點。 – SeinopSys

+0

好吧,儘管如此,我有能力重新使用代碼,並負責任地處理錯誤。 – Christopher

相關問題