实现ajax的步骤
1.创建xmlHttprequest对象
function createXmlHttpRequest(){
var xmlHttp;
try{ //Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}catch (e){
try{ //Internet Explorer
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch (e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch (e){}
}
}
return xmlHttp;
}
2.监听服务器的响应
.onreadystatechange=function(){
//得到ajax的状态值 .readyState
//得到服务器响应的内容 .reponseText
}
3.打开与服务器的链接
.open(method,url,asy);
method:ajax的提交方式(get、post)
url:ajax的请求路径
asy:ajax是否异步 默认为true
4.发送数据
.send();
如果是get提交方式,那么该处发送的数据是无效的;括号内写null或什么都不写
5.post提交方式步骤(发送数据前,需要先调用setRequestHeader();发送数据时也可以在url上带参传送)
.open("post","URL",true);
.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
.send("email="+email.value+"&method=ckEmail");
6.js和ajax可以完成简单的验证
ajax可以完成查询所有
7.服务器响应的内容可以是以下内容
1.文本内容
2.json对象
对象格式 {"属性名":"属性值","属性名":"属性值",.... }
集合格式 [{"属性名":"属性值","属性名":"属性值",.... },{"属性名":"属性值","属性名":"属性值",.... }... ]
也可以多层嵌套
集合类似Java数组,利用下标获取里面的内容;
对象则 .属性名获取属性值
8.如何将.responseText转换为json对象?
1.响应的文本内容,必须符合json对象的格式标准;
2.eval("("+xmlHttp.responseText+")");