当前位置:主页 > 查看内容

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

发布时间:2021-08-12 00:00| 位朋友查看

简介:以前在做项目的时候碰到这样的需求。用户希望能够直接输入城市的名字,就能够得到这个城市的相应的信息。以前是在页面打开的时候生成几个JavaScript数组,然后来对比的。这样做的话,如果数据比较多的时候,用户会明显的感到响应延迟。 现在该成用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中了

原文链接:https://m.jb51.net/article/6582.htm
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐