AJAX:异步JS和XML
1.创建XMLHttpRequest对象:
XMLHttpRequest对象是AJAX的基础,用于在后台与服务器交换数据
语法:var xhr=new XMLHttpRequest()
兼容性:
if(!window.XMLHttpRequest){
xhr=new ActiveObject('Microsoft.XMlHTTP');
}else{
xhr=new XMLHttpRequest();
}
2.向服务器发送请求:
使用XMLHttpRequest对象的open()方法和send()方法
语法:xml.open('GET',url,false);
xml.send();
方法:open(method,url,async)
method:请求的类型GET或POST
URL:文件在服务器上的位置
async:是否异步处理请求true或false
send(string):将请求发送到服务器上,string只用于post
说明:大部分情况下使用get,但以下三种情况使用post:
①无法使用缓存文件时(即服务器上的文件或数据库更新了)
②向服务器发送大量数据时(post无数量限制)
③发送包含未知字符的用户输入(post比get安全可靠)
若需要向HTML表单一样post数据时,则使用setRequestHeader()来添加header头,然后在send方法中添加要发送的数据
语法:xml.setRequestHeader(header,value)
header:规定头的名称
value:规定头的值
3、获取服务器响应:
XMLHttpRequest对象的responseText属性和responseXML属性
responseText:获得字符串形式的响应数据
responseXML:获得XML形式的响应数据
4、基于响应的事件:onreadystatechange事件
当readyState改变时,触发onreadystatechange事件
XMLHttpRequest对象的三个重要属性:
onreadystatechange:状态响应事件
readyState:存有XMLHttpRequest对象的状态,0-4
0:请求未初始化
1:服务器连接已建立
2:请求已接收
3:请求处理中
4:请求已完成,响应就绪
status:200--'ok'
404未找到页面