欢迎来到福编程网,本站提供各种互联网专业知识!

AJAX根据城市名,自动完成相应的城市信息

发布时间:2007-01-28 作者: 来源:转载
以前在做项目的时候碰到这样的需求。用户希望能够直接输入城市的名字,就能够得到这个城市的相应的信息。以前是在页面打开的时候生成几个JavaScript数组,然后来对比的。这样做的话,如果数据比较多的时候,用户会明显的感到响应延迟。现在该成用ajax的方法来
以前在做项目的时候碰到这样的需求。用户希望能够直接输入城市的名字,就能够得到这个城市的相应的信息。以前是在页面打开的时候生成几个JavaScript数组,然后来对比的。这样做的话,如果数据比较多的时候,用户会明显的感到响应延迟。

现在该成用ajax的方法来做,速度要快一些,客户体验会好一些。谁要咱们处在“体验经济”时代呢!

下面是做的一个小例子,由两个页面组成。

city.html页代码如下:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

zipcode.jsp代码如下:
复制代码 代码如下:
<%@pagecontentType="text/html;charset=gb2312"%>

<%@pageimport="java.util.*"%>
<%@pageimport="java.sql.Connection"%>
<%@pageimport="java.sql.PreparedStatement"%>
<%@pageimport="java.sql.ResultSet"%>

<%@pageimport="com.util.MyConnection"%>
<%
Stringcity=request.getParameter("city");

if(city==null)
{
city="";
}
if(!city.equals(""))
{
Stringsql="selectcitrmm,cittierfromtb_basecitywherecitnamelike'"+city+"'";
Connectionconn=MyConnection.getConnection();
PreparedStatementstate=conn.prepareStatement(sql);
ResultSetrs=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中了

相关推荐