六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 53|回复: 0

Ajax异步提交

[复制链接]

升级  86%

9

主题

9

主题

9

主题

童生

Rank: 1

积分
43
 楼主| 发表于 2013-1-29 11:24:39 | 显示全部楼层 |阅读模式
<form action="" method="get">
    客户:<input type="text" id="customerId" name="customerId" onchange="getCustomerinfo();"/>
    订单:<select id="ordersNumber" name="ordersNumber">
     </select>
     <input type="submit" value="查询"/>
</form>

<script language="javascript" type="text/javascript">
   var ajaxRequest;
   try {
       ajaxRequest = new XMLHttpRequest();
   }catch(e) {
       try {
ajaxRequest = new ActiveXObject("Msxml2.xmlhttp");
       }catch(e){
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
       }
   }
   function getCustomerinfo(){
       var customerId = document.getElementById("customerId").value;
       var url = "selectCustomerInfo?customerId=" + escape(customerId);
       ajaxRequest.onreadystatechange = updateSelect;
       ajaxRequest.open("GET",url,true);
       ajaxRequest.send(null);
   }
   function updateSelect(){
       if(ajaxRequest.readyState == 4) {
if(ajaxRequest.status == 200) {
    var ordersNumber = ajaxRequest.responseText.split('|');
    var c = document.getElementById("ordersNumber");
    c.length=0;
    for(var i=0;i<ordersNumber.length-1;i++) {
        var opt = document.createElement('option');
        opt.value = ordersNumber[i];
        opt.innerText = ordersNumber[i];
        c.appendChild(opt);
    }
  }
       }
   }
</script>
以下是请求所对应的类文件:
public void init() throws ServletException {
    try {
        Class.forName("com.mysql.jdbc.Driver");
    }catch(Exception e) {
        e.printStackTrace();
        System.out.println("数据库加载失败!");
    }
}
public void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException {
    resp.setContentType("text/html;charset=UTF-8");
    PrintWriter out = resp.getWriter();
    String customerId = req.getParameter("customerId");
    Connection conn = null;
    PreparedStatement pstmt = null;
    try {
        String url = "jdbc:mysql://localhost:3306/transactiontest";
        conn = DriverManager.getConnection(url,"root","123456");
        String sql = "select ORDER_NUMBER from orders where CUSTOMER_ID = ?";
        pstmt = conn.prepareStatement(sql);
        pstmt.setString(1, customerId);
        ResultSet rs = pstmt.executeQuery();
        ResultSetMetaData rsmd = rs.getMetaData();
        int iCount = rsmd.getColumnCount();
        while(rs.next()) {
             for(int i=1;i<=iCount;i++) {
       out.println(rs.getString(i) + "|");
   }
        }
        out.close();
     }catch(Exception e){
e.printStackTrace();
     }
}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表