2013-10-20 52 views
0

我是新來的AJAX,我有號碼的文本文件值閱讀文本文件和發送stringback到HTML文件

像ids.txt,這裏12345映射值是54321

12345,54321 
23456,65432 
34567,76543 
45678,87654 
56789,98765 

這是我的HTML文件

<html><body> 
    <INPUT TYPE="TEXT" NAME="text" SIZE="25" > 
    <button type="button" onclick="getId()">Submit</button> 
    <div id="myDiv"><h2></h2></div> 
</body></html> 

如果我在上面的文本框中輸入值12345我應該從ids.txt文件中獲取它的映射值54321並應顯示在div標籤「myDiv」

任何人都可以請幫忙嗎?

+0

你卡在哪裏?你能夠獲得AJAX內容,並且你堅持解析它嗎?你堅持獲得AJAX內容嗎? –

+0

getId是幹什麼的? –

回答

1

我會考慮你使用JSON。轉換你ids.txtids.json與此內容:

{ 
12345:54321 
23456:65432 
34567:76543 
45678:87654 
56789:98765 
} 

然後你就可以解析與JSON.parse() Ajax調用的數據和你有一個對象。

一個jQuery的示例使用$.get

$.get("ids.json",function(data){ 
    //jQuery probably has already parsed the json 

    //get the text out of the textfield 
    var text = $('input[name="text"]').val(); 

    //display the number in #myDiv 
    $("#myDiv").text(data[text]); 
}); 
+0

謝謝,現在我正在獲取反映的映射值。 – Bangaram

1

我認爲最好的解決辦法是將你的文件解析成Dictionary(C#)或HashMap(Java),這樣第一個數字就是鍵值,第二個數字就是數值。你應該緩存這個字典,所以你不必爲每個Ajax調用創建它(因爲IO操作非常昂貴!)。比在ajax請求中傳遞你的數字作爲參數。在您的後端只需從字典中獲取您剛收到的密鑰作爲ajax參數並將其發送回客戶端(確保執行所需的驗證!)。在你的ajax成功處理程序中,只需使用結果更新div內容即可。

0

首先檢索由線從文件行中的文本如下:

var file = "ids.txt"; 
function getFile(){ 
    $.get(file,function(txt){ 
     var lines = txt.responseText.split("\n"); 
     // all the text will be stored into the lines as array 
     // lines[0] will contain 12345,54321 
     var arr;var indexA; 
     for (var i = 0, len = lines.length; i < len; i++) { 
      arr.push(lines[i].split(",")) 
     } 
     for(var j=0;leng=arr.length;j<length;j+=2){ 
      indexA[arr[j]]=arr[j+1];// index array will store value as key:12345,value=54321 
    } 

    }); 
} 

然後文本字段值可以用索引A陣列進行比較,並如果索引與鍵入的值匹配,則該索引值可以通過顯示爲$("#myDiv").text(indexA[indexValue]);

Regards, Rubel