Ajax定义
"Asynchronous Javascipt And XML":异步JavaScript和XML。
AJAX是一种由于创建快速动态网页技术。实现网页异步更新,这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
XHR对象
XHR对象
var xhr = new XMLHttpRequest();
回调函数
服务器返回5个
xhr.onreadystatechange = receivePlace;
open()函数
第一个参数:GET或POST
第二个参数:服务器上响应文档的URL
第三个参数:请求是异步还是同步,true表示异步。
xhr.open("GET","getCityState.php?zip="+zip,true);
xhr.send();
XMLHTTP是由Microsoft发明的。创建XMLHttpRequest()对象
测试代码
1.创建xmlHttpRequest对象:
function createXMLHttpRequest(){
//表示当前浏览器不是ie,如ns、firefox
if(window.XMLHttpRequset){
xhr = new XMLHttpRequest();
}else if(window.ActiveXObject){
xhr = new ActiveXOject("Microsoft.XMLHTTP")
}
}
2.客户端事件触发:
function validate(field){
//trim函数清除多余的空格
if(trim(field.value).length != 0){
//创建HttpRequest
createXMLHttpRequest;
var url = "user_validate.jsp?userId=" + trim(field.value?)
+"xtampt="+newDate().getTime();
xhr.open("GET",url,true);
xhr.onreadystatechange = callback;
// 将参数发送到Ajax引擎
xhr.send();
}else{
document.getElementById("useIdSpan").innerHTML="";
}
}
3.结果返回操作:
function callback(){
alert(xhr.readyState);
if(xhr.readyState==4){
if(xhr.status ==200){
document.getElementById("userIdSpan").innerHTML = "<font color = 'red'>"+xhr.responseText+"</font>";
}else{
alert("请求失败,错误码="+xhr.status);
}
}
}
网友评论