ajax+jsp异步无刷新从DB取数据

ajax应用的基本流程

1、从web表单中获取需要的数据
2 、建立到服务器的url
3 、打开到服务器的连接
4、 设置服务器在完成后要运行的函数
5 、发送请求

ajax.html

<html>
  <head>
 <script src="selectcustomer.js"></script>
  </head>
  <form name="form">
    select a customer
 <select name="customers" οnchange="showCustomer(document.form.customers.options[document.form.customers.selectedIndex].text)">
    <option value="1">000100</option>
    <option value="2">000101</option>
    <option value="3">000102</option>
 </select>
  </form>
  <p>
  <div id="txtHint"><b>Customer info will be listed here.</b></div>
  </p>
</html>

 selectcustomer.js

var xmlHttp;
function showCustomer(str)
{
  xmlHttp=GetXmlHttpObject();
  if(xmlHttp==null)
  {
   alert("Browser does not support HTTP Request");
   return ;
  }
  var url="ajax.jsp";
  url=url+"?q="+str;
  url=url+"&sid="+Math.random();
  xmlHttp.onreadystatechange=stateChanged;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}
function stateChanged()
{
 if(xmlHttp.readyState==4||xmlHttp.readyState=="complete")
 {
  document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
 }
}
function GetXmlHttpObject()
{
 var objXMLHttp=null;
 if(window.XMLHttpRequest)
 {
  objXMLHttp=new XMLHttpRequest();
 }
 else if(window.ActiveXObject)
 {
  objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
 return objXMLHttp;
}

 ajax.jsp 

<%@page contentType="text/html; charset=gb2312" import="java.sql.*"%>
<html>
<body>
<%
   String sql=(String)request.getParameter("q");
    //out.println(q);
   String str="select * from customers where customerid='"+sql+"'";
   //String str1="select * from customers";
   Class.forName("org.gjt.mm.mysql.Driver").newInstance();
   Connection con=java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
   Statement stmt=con.createStatement();
    ResultSet rst=stmt.executeQuery(str); 
  %>
  <table>
  <%
    while(rst.next())
    {
  %>
   <tr>
     <td><%=rst.getString("customerid")%></td>
     <td><%=rst.getString("customername")%></td>
     <td><%=rst.getString("companyname")%></td>
     <td><%=rst.getString("contactname")%></td>
     <td><%=rst.getString("address")%></td>
     <td><%=rst.getString("postalcode")%></td>
   </tr>
 <%   }
    //关闭连接、释放资源
    rst.close();
    stmt.close();
    con.close();
%>
   </table>
</body>
</html>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值