项目结构

运行效果:

数据库:

/*
SQLyog Ultimate v12.09 (64 bit)
MySQL - 5.5.53 : Database - ajaxexample_2
*********************************************************************
*//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE=''*/;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`ajaxexample_2` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `ajaxexample_2`;/*Table structure for table `postalcode` */DROP TABLE IF EXISTS `postalcode`;CREATE TABLE `postalcode` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`area` varchar(255) NOT NULL COMMENT '省份',`city` varchar(255) NOT NULL COMMENT '城市',`code` varchar(6) NOT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;/*Data for the table `postalcode` */insert  into `postalcode`(`id`,`area`,`city`,`code`) values (1,'北京','北京','100000'),(2,'北京','通县','101100'),(3,'北京','昌平','102200'),(4,'上海','上海','200000'),(5,'河南','郑州','450000');/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

AjaxRequest.js:参见博客【Ajax类

DBUtil.java:数据库工具类:

package com.gordon.util;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;public class DBUtil {private static final String URL = "jdbc:mysql://localhost:3306/ajaxexample_2";private static final String DRIVER = "com.mysql.jdbc.Driver";private static final String USERNAME = "root";private static final String PASSWORD = "root";public static Connection getConnection() throws ClassNotFoundException, SQLException {Class.forName(DRIVER);return DriverManager.getConnection(URL, USERNAME, PASSWORD);}
}

GetPostalcode.java 获取邮编信息servlet:

package com.gordon.servlet;import java.io.IOException;import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.gordon.service.GetDetailByPostalCode;/*** Servlet implementation class GetPostalcode*/
@WebServlet(urlPatterns = { "/GetPostalcode" })
public class GetPostalcode extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public GetPostalcode() {super();// TODO Auto-generated constructor stub}/*** @see Servlet#init(ServletConfig)*/public void init(ServletConfig config) throws ServletException {// TODO Auto-generated method stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse*      response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String result = "";request.setCharacterEncoding("UTF-8");response.setContentType("text/text;charset=utf-8;");String postalcode = request.getParameter("postalcode");try {result = GetDetailByPostalCode.getContentByPostid(postalcode);} catch (Exception e) {System.out.println(e.getMessage());}response.getWriter().print(result);}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse*      response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}

GetDetailByPostalCode:根据邮编获取详细到信息:

package com.gordon.service;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;import com.gordon.util.DBUtil;public class GetDetailByPostalCode {public static String getContentByPostid(String postalcode) throws ClassNotFoundException, SQLException {String result = "";String sql = "SELECT * FROM postalcode WHERE code = ?";Connection conn = DBUtil.getConnection();PreparedStatement pst = conn.prepareStatement(sql);pst.setString(1, postalcode);ResultSet rs = pst.executeQuery();while(rs.next()) {result = rs.getString("area") + "|" + rs.getString("city");}rs.close();pst.close();conn.close();return result;}
}

register.jap:注册页面:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body><form action="">邮编:<input type="text" id="code" οninput="keypress(this)" οnblur="getPostalCode()"><br />地区:<input type="text" id="area"><br /> 城市:<input type="text" id="city"></form>
</body><script type="text/javascript" src="js/AjaxRequest.js"></script><script type="text/javascript">// 实例化XMLHttpRequest对象var xhr = Ajax();// 限制只能输入数字function keypress(_this) {_this.value = _this.value.replace(/[^0-9]/g, '');}// 失去焦点触发事件function getPostalCode() {var postalcode = document.getElementById("code").value;if (postalcode == "" || postalcode.length != 6) {alert("请输入正确邮编!");} else {handleGetPostalcode(postalcode);}}// 获取邮编相关的地区和城市function handleGetPostalcode(postalcode) {var url = "GetPostalcode";var params = "postalcode=" + postalcode;var des_url = url + "?nocache=" + new Date().getTime() + "&" + params;xhr.get(des_url, function(data) {deal_result(data);});}// 处理返回数据function deal_result(data) {document.getElementById("area").value = "";document.getElementById("city").value = "";if (data == "") {return;}var content = data.split("|");document.getElementById("area").value = content[0];document.getElementById("city").value = content[1];}
</script></html>

+++++++++++++++++++++++++++

参考:ajax实用案例大全-1动态加载数据  https://wenku.baidu.com/view/c7897bf4700abb68a982fb91.html

转载于:https://www.cnblogs.com/hfultrastrong/p/7278527.html

Ajax-ajax实例2-根据邮政编码获取地区信息相关推荐

  1. springboot整合IPDB,获取地区信息

    前言 最近在做用户活跃度的项目,项目中需要统计全国各个区域的ip数,浏览量等,这里需要用到ipdb数据库,根据浏览的ip获取到地区(省市).其实很简单,只需要在项目导入ipdb的jar包,再引入ipd ...

  2. mysql 纯真ip 导出dat_C# 读取纯真IP数据库QQWry.dat获取地区信息

    using System; using System.Collections.Generic; using System.Text; using System.IO; namespace 纯真IP数据 ...

  3. 租房项目 获取地区信息服务

    流程 接口 # Request: method: GET url: api/v1.0/areas # data: no input data# Response: # 返回成功 {"errn ...

  4. 网狐app端获取服务器信息,获取服务器信息 网狐客户端

    获取服务器信息 网狐客户端 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 帐户 ...

  5. ajax请求返回json实例,Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据

    一.AjaxJson.aspx 处理业务数据,产生JSon数据,供JqueryRequest.aspx调用,代码如下: protected void Page_Load(object sender, ...

  6. js中的json ajax,js结合json实现ajax简单实例

    这篇文章主要为大家详细介绍了js结合json实现ajax简单实例的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 前期准备 1.安装wampserver或者其他相似软件来搭建本地集成安装环 ...

  7. php ajax简单实例代码,Ajax的简单实用实例代码

    这篇文章主要介绍了Ajax的简单实用实例代码,对ajax感兴趣的朋友可以参考下Ajax的简单实用的方法 我将实现一个简单的Ajax页面无刷新进行用户验证案例: 效果如下图: 实现主要过程: 在User ...

  8. zepto ajax php实例,读Zepto源码之Ajax模块

    Ajax 模块也是经常会用到的模块,Ajax 模块中包含了 jsonp 的现实,和 XMLHttpRequest 的封装. 读 Zepto 源码系列文章已经放到了github上,欢迎star: rea ...

  9. ajax常用案例,Ajax和$.ajax使用实例详解(推荐)

    实例一(Ajax请求基本创建格式): Ajax练习(GET,不考虑浏览器兼容性) function doRequest() { //不考虑浏览器兼容性问题 var xmlHttp = new XMLH ...

  10. apiCloud中api.ajax方法跨域传参获取数据

    apiCloud中的ajax方法,可以自动处理跨域访问数据,不必使用jsonp来处理了. 使用ajax方法,必须要在apiready = function() {}方法中 获取参数 var pageP ...

最新文章

  1. h桥控制电机刹车_控制直流电机正反转以及刹车电路设计 (转载)
  2. wps图表xy轴颠倒_还在嫌自己的图表丑?50+种可视化图表随你选
  3. dd命令测试linux磁盘io情况,【LINUX】正确的使用dd进行磁盘读写速度测试
  4. v8学习笔记(四) 对象机制
  5. mysql 5.6 利用gtid 同步数据遇到的问题记录
  6. OpenShift 4 之Istio-Tutorial (7) 利用VirtualService的故障注入实现混沌测试Chaos Testing
  7. DM8168 DDR3接口的PCB布线指南
  8. android 远程下载与pull解析技术
  9. 细说.NET中的多线程 (四 使用锁进行同步)
  10. bzoj1042硬币购物
  11. 让计算机u盘启动,如何让vmware用u盘启动
  12. oeasy教您玩转python - 008 - # ascii码表
  13. 电脑连上网络,浏览器上不了网?
  14. 免费数据库应用程序工具 - 不需代码
  15. [玩转UE4/UE5动画系统>应用篇>功能模块] 之 ALS V4地面站立动作状态机详解
  16. varnish php,php实现监控varnish缓存服务器的状态_PHP
  17. 2021年低压电工考试题及低压电工考试报名
  18. Linux Mint 火狐浏览器改中文
  19. CAD - 创建块、插入块
  20. 时尚育儿观:情商第一 智商第二

热门文章

  1. 计算机组装与维护日记,计算机毕业生实习日志
  2. EhCache初体验
  3. 如何取消linux响铃_虚拟机linux关闭蜂鸣器
  4. android ndk adk 旧版本下载
  5. 测试电脑整机功耗软件,最真实的耗电!PConline权威整机功耗评测
  6. TBase环境部署过程及使用一
  7. 硕思闪客精灵v2021如何用Flash制作动画短片流程分享
  8. 基于单片机的功放protues_基于单片机的功放毕业设计
  9. 手机桌面隐藏大师_【应用隐藏大师app】应用隐藏大师安卓版_应用隐藏大师手机版下载v2.8.1 - 绿点安卓网...
  10. FFT算法实现——python