文章目錄
以前在做項目的時候碰到這樣的需求。使用者希望能夠直接輸入城市的名字,就能夠得到這個城市的相應的資訊。以前是在頁面開啟的時候產生幾個JavaScript數組,然後來對比的。這樣做的話,如果資料比較多的時候,使用者會明顯的感到響應延遲。
現在該成用ajax的方法來做,速度要快一些,客戶體驗會好一些。誰要咱們處在“體驗經濟”時代呢!
下面是做的一個小例子,由兩個頁面組成。
city.html頁代碼如下:
<center> </p>得到城市相應的資訊<table align="center"><tr><td>輸入城市的拼音:</td><td><input type="text" id="citycode" name="citycode" onblur="sndReq(this.value);"></td></tr><tr><td>層級:</td><td><input type="text" id="tier" name="tier"></td></tr><tr><td>負責人:</td><td><input type="text" id="rmm" name="rmm"></td></tr></table><p></center><br />
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
zipcode.jsp代碼如下: 複製代碼 代碼如下:<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.Connection"%>
<%@ page import="java.sql.PreparedStatement"%>
<%@ page import="java.sql.ResultSet"%>
<%@ page import="com.util.MyConnection"%>
<%
String city = request.getParameter("city");
if(city==null)
{
city= "";
}
if(!city.equals(""))
{
String sql="select citrmm,cittier from tb_basecity where citname like '"+city+"'";
Connection conn = MyConnection.getConnection();
PreparedStatement state= conn.prepareStatement(sql);
ResultSet rs = state.executeQuery();
if(rs.next())
{
out.println(rs.getString("citrmm")+"|"+rs.getString("cittier"));
}
else
{
out.println("未知"+"|"+"未知");
}
rs.close();
state.close();
conn.close();
}
else
{
out.println("未知"+"|"+"未知");
}
%>
PS:
Http.send()後,經檢測Http.readystate==4,說明載入完畢,這時網頁內容已經載入 到了Http.responseBody中了