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

  以前在做项目的时候碰到这样的需求。用户希望能够直接输入城市的名字,就能够得到这个城市的相应的信息。以前是在页面打开的时候生成几个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中了