1.AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML)。它可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页。
2.传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。
3.ajax开发模式通过ajax引擎与服务器进行通信。
ajax是异步通信的方式传输数据,可以同时处理一堆数据。
4.ajax常见的应用在Google 地图,新浪微博,百度搜索建议列表,股票网站信息更新,用户登录等等。
5.ajax技术的核心是XMLHttpRequest对象。
(1)创建ajax对象
if(window.XMLHttpRequest) {
var ajax = new XMLHttpRequest();
}
/* else{
if(window.ActiveXObject) {
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
//首先尝试IE6版本控件
} catch(e) {
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
//没有尝试更老版本
} catch(e) {}//跳过
}
}
}
*/
如果只想支持IE7和其他浏览器,用XMLHttpRequest创建对象就可以了
(2)向服务器发送请求
//连接服务器
//open(方法,文件路径,异步传输)
ajax.open(method,uri,async);
//发送请求
ajax.send(null);//必须传入null,对有些浏览器是必需的
(3)服务器响应
ajax.onreadystatechange=function (){
if(ajax.readyState==4){//请求过程完成
if(ajax.status==200){
alert('ok');
}else{
alert('fail');
}
}
};
readyState的属性值如下:
status值为200表示请求正常处理,404无法找到请求资源
函数封装如下:
function ajax(url,succ,fail){
var ajax=(new XMLHttpRequest())||(new ActiveXObject('Microsoft.XMLHTTP'));
ajax.open('POST',url+'?'+Math.random(),true);//Math.random()每次生成不同的路径,阻止缓存
ajax.send(null);
ajax.onreadystatechange=function (){
if(ajax.readyState==4){
if(ajax.status==200){
succ(ajax.responseText);//接收返回的字符串
}else{
fail('失败'+ajax.status);
}
}
};
}