標籤:ajax 伺服器 json js
伺服器端獲得要查詢的東西,查詢資料庫,將查詢的資訊,以json字串的形式返回給瀏覽器
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String departmentID=request.getParameter("departmentID"); DataBaseHandle dataBaseHandle=new DataBaseHandle("commonUser", "common", "jdbc:mysql://127.0.0.1:3306/firstwebsite"); String SQL="select * from speciality where departmentID=‘"+departmentID+"‘"; String json="{‘specialities‘:["; response.setContentType("text/html; charset=utf-8"); response.setCharacterEncoding("UTF-8"); try { ResultSet rs=dataBaseHandle.exeuteSQL(SQL); while(rs.next()) { json=json+"{‘"+"specialityID‘:‘"+rs.getString(1)+"‘,"+"‘SPname‘:‘"+rs.getString(2)+"‘},"; System.out.println(rs.getString(1)+rs.getString(2)); } json=json.substring(0,json.length()-1); json=json+"]}"; PrintWriter pwriter=response.getWriter(); pwriter.print(json); rs.close(); dataBaseHandle.closeResourse(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
js解析json,獲得返回的內容
function updateSpeciality(str) { var xmlhttp; if (str=="") { alert("請選擇非空的值!"); return; } if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { var dataObj=eval("("+xmlhttp.responseText+")");//轉換為json對象 for(var o in dataObj.specialities) { alert(dataObj.specialities[o].specialityID); alert(dataObj.specialities[o].SPname); } } } xmlhttp.open("GET","/First/servlet/GetMessage?departmentID="+str,true); xmlhttp.send(); }
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
ajax查詢資料庫,伺服器傳回json字串,js解析json