好的,所以我正在學習網頁設計作爲一家公司的合作社。但是,我所在的部門在網頁設計方面缺乏知識淵博的人才。所以在這裏我們去...不能讓Ajax與jsp一起工作
建立一個網站,將讓該部門管理PTO。我想實現ajax b/c主頁面將有一個日曆系統,因此經理可以每週查看PTO。作爲一個先驅,我試圖通過「添加員工」頁面來實踐Ajax。 但是,我似乎無法找出我失蹤的東西(也就是爲什麼它沒有做任何事情)
此頁面只需要將新員工添加到數據庫。無需顯示。
主要頁面只是有4個文本框和我從這些領域的信息在JavaScript像這樣
var firstName = document.getElementById("firstNameField");
var lastName = document.getElementById("lastNameField");
var manager = document.getElementById("managerField");
var networkID = document.getElementById("networkIDField");
夠簡單爲止。
所以我成立了,像這樣的Ajax代碼,(這是從我讀過聚集。
var url = "addEmpJSP.jsp?firstNameField=" + escape(firstName)+"&lastNameField="+escape(lastName)+"&managerField="+escape(manager)+"&networkIDField="+escape(networkID);
xmlhttp.open("POST",url,true);
xmlhttp.onreadystatechange=dummy;
xmlhttp.send(null);
這就是我假設它是正確的,因爲我還在學習AJAX的一部分以及它是如何工作的。我不認爲我需要處理的響應,因爲我只是想需要什麼被叫JSP文件來自動完成。(如果可能的話)。
JSP文件看起來像這樣
<%
ResultSet rsEmpl;
Connection connection1 = getDBConnection();
Statement statment1=connection1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
String fName = request.getParameter("firstNameField");
String lName = request.getParameter("lastNameField");
String manager = request.getParameter("managerField");
String networkID = request.getParameter("networkIDField");
Int empId = 0;
String EditEmplSQL = "select * from PTO_employee";
rsEmpl=statment1.executeQuery(EditEmplSQL);
rsEmpl.last();
empId = rsEmpl.getRow() - 1;
statement1.execute("INSERT INTO PTO_employee VALUES ("+empID+","+lName+","+fName+","+0+","+2+","+networkID);
%>
我在頁面上執行包含ajax信息的JavaScript函數的按鈕。我想避免jquery atm b/c我試圖理解這個東西,以及它如何工作,然後才嘗試使用像jquery這樣的「快捷方式」。我正在攻讀軟件工程學位,所以理解這些東西是我的首要任務,沒有完成。(這只是一個獎勵)如果您需要更多信息,我可以提供。對不起,我的知識的缺乏,如果這是完全關閉基地則:(
「不必要的過度複雜,學習如何使用DB內置序列/自動增量ID」。 學習資源? – cphilpot 2012-03-07 16:58:56
「應該可以正常工作,但是你有一個巨大的SQL注入攻擊漏洞」 我對此很陌生,解釋爲什麼? 「 – cphilpot 2012-03-07 16:59:49
」這會爲您提供完整的HTML DOM元素,而不是這些元素的值。假設它是輸入元素,請改爲使用它們的值屬性。「 過度,謝謝。 – cphilpot 2012-03-07 17:01:19