以前在做項目的時候碰到這樣的需求。用戶希望能夠直接輸入城市的名字,就能夠得到這個城市的相應的信息。以前是在頁面打開的時候生成幾個JavaScript數組,然後來對比的。這樣做的話,如果數據比較多的時候,用戶會明顯的感到響應延遲。
現在該成用ajax的方法來做,速度要快一些,客戶體驗會好一些。誰要咱們處在“體驗經濟”時代呢!
下面是做的一個小例子,由兩個頁面組成。
city.html頁代碼如下:
[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中了