Ajax不是一種技術。實際上,它由幾種蓬勃發展的技術以新的強大方式組合而成。Ajax包含:
- 基於XHTML和CSS標準的表示;
- 使用Document Object Model進行動態顯示和交互;
- 使用XMLHttpRequest與服務器進行異步通信;
- 使用JavaScript綁定一切。
XMLHttpRequest對象是當今所有AJAX和Web 2.0應用程序的技術基礎。
/*選擇車牌照號自動讀取車輛的車輛名稱和所屬部門*/
/*select標籤的onchangeh*/
function showOther(carno,obj){
var value = carno;
if (value == null){
value ="";
}
if (value == ""){
document.all.CARNAME.value = ""; //車輛名稱
document.all.DEPTNAME.value = ""; //所屬部門
return;
}
var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlHttp.open("post","../../GenHttpXmlSlet?act=get&flag=12¶meter="+carno,false);
xmlHttp.setRequestHeader("context-type","text/xml;charset=utf-8");
xmlHttp.send("testing");
var showstr=xmlHttp.responseText;
if(showstr=="0"){
alert("所選車牌號信息無效,請重新選擇!");
document.all.CARNAME.value = ""; //車輛名稱
document.all.DEPTNAME.value = ""; //所屬部門
return;
}
var arr = showstr.split(",");//分割
document.all.CARNAME.value = arr[0];//車輛名稱
document.all.DEPTNAME.value = arr[1];//所屬部門
}
GenHttpXmlSlet.java
/*
* 創建日期 2007-5-9
*
* TODO 要更改此生成的文件的模板,請轉至
* 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板
*/
package com.san30.jwbz.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.HashMap;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.san30.common.tools.*;
import com.san30.comInterface.CurrentUserAccount;
import com.san30.comInterface.InterfaceHelper;
import com.san30.common.db.DbHandlerWithSharePool;
import com.san30.common.tools.StrTools;
import com.san30.jwbz.pub.PubMethod;
public class GenHttpXmlSlet extends HttpServlet {
private static final String CONTENT_TYPE = "text/xml;charset=utf-8";
// Initialize global variables
public void init() throws ServletException {
}
// Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
request.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
DbHandlerWithSharePool dbh = new DbHandlerWithSharePool();
dbh.open();
try{
String parameter= StrTools.transEncoding(StrTools.transNull(request.getParameter("parameter"))); //傳入參數
String flag= StrTools.transNull(request.getParameter("flag")); //傳入參數
String sql="";
String Restring="";
//根據車牌照號自動讀取車輛的車輛名稱和所屬部門
if("12".equals(flag)){
sql="select * from carbase_info where FIRCARNUMBER='"+parameter+"'";
ResultSet rs = dbh.executeQuery(sql);
// 處理車輛信息
while(rs.next()){
String carName=Tools.trim(StrTools.transNull(rs.getString("CARNAME")));//車輛名稱
String deptName=Tools.trim(StrTools.transNull(rs.getString("USEDEPTNAME")));//所屬部門名稱
Restring=carName+","+deptName;
}
if(Restring.equals("")){
out.println("0");
}else{
out.println(Restring);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
// Clean up resources
public void destroy() {
}
}