一、为什么使用ajax
二、什么是ajax
三、案例
1、为什么使用ajax
无刷新:不刷新整个页面,只刷新局部
无刷新的好处 只更新部分页面,有效利用带宽,提高用户体验
2.什么是ajax
只刷新局部页面的技术
JavaScript:更新局部的网页
XML:一般用于请求数据和响应数据的封装
XMLHttpRequest对象:发送请求到服务器并获得返回结果
CSS:美化页面样式 异步:发送请求后不等返回结果,由回调函数处理结果
jQuery.ajax(url,[settings])
| 常用参数 | 说 明 |
| url | 一个用来包含发送请求的URL字符串(请求地址) |
| type | 请求方式 (“POST” 或 “GET“[默认]) |
| data | 发送到服务器的数据(参数) |
| dataType | 预期服务器返回的数据类型(xml、json、text) |
| success(data) | 请求成功的回调函数 |
| error | 请求失败的回调函数 |
jQuery.post(url, [data], [callback], [type])
| 常用参数 | 说 明 |
| url | 一个用来包含发送请求的URL字符串(请求地址) |
| data | 发送到服务器的数据(参数) key/value |
| success(data) | 请求成功的回调函数 |
| type | 返回内容格式(xml、json、text等) |
3、ajax案例
AuToFull.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
AutoFullServlet.java
package com.zking.jsom.test;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.zking.json.servlet.Diaosi;
public class AutoFullServlet extends HttpServlet {
// 数据访问层 业务逻辑层
public List queryDiaosiAll() {
List list = new ArrayList();
for (int i = 0; i < 300; i++) {
if (i >= 0 && i < 100) {
list.add(new Diaosi("哈哈" + i, "女", 1 + i));
} else if (i >= 100 && i < 200) {
list.add(new Diaosi("呵呵" + i, "女", 2 + i));
} else {
list.add(new Diaosi("嘻嘻" + i, "女", 3 + i));
}
}
return list;
}
public List queryDiaosiAll(String searchName) {
// 获取所有
List queryDiaosiAll = queryDiaosiAll();
// 创建一个新的集合保存模糊查询的结构集
List list = new ArrayList();
for (Diaosi diaosi : queryDiaosiAll) {
if (diaosi.getDname().contains(searchName)) {
list.add(diaosi);
}
}
return list;
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
// 获取搜索的关键词
String searchName = request.getParameter("searchName");
if (searchName == null) {
searchName = "";
}
// 调用biz
List queryDiaosiAll = queryDiaosiAll(searchName);
// 获取out对象
PrintWriter out = response.getWriter();
// 因为out对象中只能传递字符串类型以及其它基本类型
// 需要将模糊查询的结果集转换成字符串(满足JSON格式)
ObjectMapper mapper = new ObjectMapper();
String diaosiAll = mapper.writeValueAsString(queryDiaosiAll);
out.write(diaosiAll);
out.flush();
out.close();
}
}



