1.什么是ajax?
ajax(异步 javaScript xml)能够刷新网页局部数据而不是刷新网页。
2.如何使用ajax?
第一步,创建xmlHttpRequest对象 var xmlHttpRequest = new XmlHttpRequest();
var xhttp;
if (window.XMLHttpRequest) {
//现代主流浏览器
xhttp = new XMLHttpRequest();
} else {
// 针对浏览器,比如IE5或IE6
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
第二步,xmlHttpRequest对象的open()和send()方法发送给服务器
xhttp.open("get", "${pageContext.request.contextPath}/emps", true); xhttp.send();
open()方法中的几个参数分别是open(method,url,async)
method 是ajax的请求类型 get或者post请求
url 是请求的url 统一资源标识符
async是是否同步或者异步 true 或者 false
send()方法 发送出请求
第三步,使用xmlhttprequest对象的responseText或responseXML属性获得服务器的响应
document.getElementById("demo").innerHTML = xhttp.responseXML;
第四步,onreadystatechange是从 0 到4,0表示请求未被初始化 1表示服务器连接成功 2表示请求被服务器接收 3表示处理请求 4表示请求处理完成 并且准备响应
readyState属性有多个状态码 就是请求状态码 200表示请求完成
xhttp.status == 200 && xhttp.onreadystatechange==4
这是传统的js的ajax写法,现在在jquery中ajax的写法为这样的
在JQuery中的写法应该为这样的
$.ajax({
type: "",
url: "",
data: $('#someForm').serizlize(),
success: function ( data ) {}
timeout: 15000,
error: function ( data ) {}
})
由于JQuery中队JavaScript进行了大量底层封装,所以这个封装的思路是
了解内部常见参数
type :是请求的方法 常见的有get 和post请求
url:请求的路径
data:请求传递的数据 这个地方使用了form表单数据序列化
success:请求成功调用什么方法
timeout设置超时时间
error:请求失败调用什么方法
这里是我自己写的ajax的jaquery版本使用
$.ajax({
url : "${pageContext.request.contextPath}/emps",
data : "pn=" + pn,
type : "get",
async : true,
success : function(result) {
console.log(result);
//1.解析员工数据
build_emps_tables(result);
//2.解析并显示分页信息
build_page_info(result);
build_page_nav(result);
}
});