Ajax
指定请求
1. 实例化
var request=new XMLHttpRequest();
request为实例化的XMLHttpRequest对象,该对象可以重用,但是这将会终止之前通过该对象挂起的任何请求。
2. 指定请求
open()
request.open("GET",url);
参数:
1.指定HTTP方法或动作,这个字符串不区分大小写,通常大家用大写字母来匹配HTTP协议。取值可以为:GET/POST/HEAD/DELETE/OPTIONS/PUT
GET :用于常规请求,适用于URL完全指定请求资源,请求对服务器没有任何副作用,服务器的响应是可缓存的
POST:用于HTML表单,它在请求主体中包含额外数据,且这些数据常存储到服务器上的数据库中。相同URL的重复POST请求从服务器得到的响应可能不同,同时不应该缓存使用这个方法的请求。
2.URL,请求的主题,是相对于文档的URL。跨域请求会报错。
3.Boolean类型的值,如果值为false代表同步请求,send()方法将阻塞直到请求完成。这种情况下无需使用事件处理函程序,一旦send()返回,只需检查XMLHttpRequest对象的status和responseText属性。
3. 设定请求头
setRequestHeader();
如果有请求头,需要调用该方法进行设定。
参数:
1.key
2.value
request.setRequestHeader("Content-type","text/plain;charset=UTF-8");
4.发送请求
request.send();
5.获取响应
request.onreadystatechange=function(){
if(request.readyState==4 && request.status==200){//响应完成并且成功
var data=JSON.parse(request.responseText); //将JSON字符串转为对象
handler(data);
}
}