2013-02-16 107 views
0

我完全不熟悉AJAX。我有一個HTML頁面,我需要從服務器獲取一些數據。我遵循了w3schools的一些教程,然後我開始了AJAX。使用ajax從Oracle數據庫中檢索數據

這是我的策略。我有一個普通的HTML文件ajax.htmljsp文件ajaxdb.jsp。當按下一個按鈕時,我調用一個函數updateList()

這是我的代碼:

xmlhttp.open("POST", url, true); 
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
xmlhttp.send(passParameter); 

    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
     document.getElementById("printBack").innerHTML = xmlhttp.responseText; 
    } 

我已經做的printBack DIV隱藏所以無論去那裏是看不到的知名度。在jsp頁面中,我有一個包含所有員工列表的表。在此之後,我使用dataTable.rows[0].cells[0].innerHTML = tempTable.rows[0].cells[0].innerHTML;其中tempTable是隱藏表的引用。

我認爲這不是檢索AJAX中表格內容的最佳解決方案,請告訴我如何解決它。

回答

1

我倒是建議使用jQuery's AJAX功能來實現這一目標: http://api.jquery.com/jQuery.ajax/

而且從JSP你應該輸出的員工列表格式無效(即:JSON/XML)。 然後使用完整的函數在您的ajax.html頁面上顯示此列表,該函數將在請求完成時觸發。 (確保你檢查發送的狀態是「成功」)。

有幾個庫可用來幫助您將java數組/對象轉換爲JSON/XML格式。

編輯 比如,你可以使用http://code.google.com/p/json-simple/ 然後只要把你在你的JSONObject需要的數據,並輸出。 From example:

<%@page contentType="text/html; charset=UTF-8"%> 
<%@page import="org.json.simple.JSONObject"%> 
<% 
JSONObject obj=new JSONObject(); 
obj.put("name","foo"); 
obj.put("num",new Integer(100)); 
obj.put("balance",new Double(1000.21)); 
obj.put("is_vip",new Boolean(true)); 
obj.put("nickname",null); 
out.print(obj); 
out.flush(); 
%> 
+0

哪個更好用?我認爲JSON比XML更好。我不知道應該選擇哪一個。將生成的XML文件是該文件將被保存在服務器中?如果我更改數據庫中的數據,XML是否會更新? – NewUser 2013-02-16 13:05:36

+0

我更喜歡使用JSON。在我看來,它比XML更簡單。您不會保存XML/JSON生成的文件 - 您只需通過JSP輸出它。我用一個JSON庫的建議更新了我的答案。 – 2013-02-16 19:13:00

+0

我已經包含'json-java.jar'文件到我的構建路徑中,因爲JSONObject未定義,所以我仍然收到錯誤消息。我沒有得到任何語法錯誤,但是當我的頁面加載時會產生這個錯誤。我無法解決。 – NewUser 2013-02-17 07:38:45