1、什么是AJAX ?
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。
AJAX 不是新的编程语言,而是一种使用现有标准的新方法。
AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。
2、AJAX的起源
在 2005 年,Google 通过其 Google Suggest 使 AJAX 变得流行起来。Google Suggest 使用 AJAX 创造出动态性极强的 web 界面:当您在谷歌的搜索框输入关键字时,JavaScript 会把这些字符发送到服务器,然后服务器会返回一个搜索建议的列表。
3、XMLHttpRequest对象 是 AJAX 的基础
所有现代浏览器均支持 XMLHttpRequest对象(IE5和IE6使用ActiveXObject)。XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
4、使用 XHR
// 第1步:创建xhr对象
var xhr;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}else{
xhr = new ActiveXObject('Microsoft.XMLHTTP'); // IE6 IE5
}
// 第2步:向服务器发送GET/POST请求
xhr.open("GET",url,true);
xhr.send();
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
var data1 = xhr.responseText; // 接收字符串数据
var data2 = xhr.responseXML; // 接收XML数据
}
}
5、GET / POST
优势、劣势对比。
6、Ajax请求的基本过程
1)创建XMLHttpRequest对象
2)请求发起前的一些处理逻辑
3)open() 设置method/async/url/其它参数,设置请求头等
4)send(data) 发送数据
5)success, error, alwarys callback...
6)timeout callback
post(url, data).success(function(res){}).error(function(){});
7、ajax封装,链式操作
ajax(options).before(callback(xhr))
.header(name,value)
.headers({headers})
.get|post|other(url,[data],[contentType])
.success(callback(res,xhr), [jsonForceValidate=false])
.error(callback(statusCode,responseText,xhr))
.alwarys(callback(statusCode,responseText,xhr))
.timeout(timeout,[callback(xhr)]);
网友评论