var ajax = new XMLHttpRequest()
针对IE6以下版本需要做一下兼容处理
var ajax ;
if(window.XMLRequest){
ajax =new XMLRequestHttpRequest(); //IE6以上版本
}else{
ajax =new ActiveXObject("Microsoft.XMLHTTP");//IE6以下
}
(1)open(method,url,async)
method:GET或者POST请求方法
url:相对地址或者绝对地址
async:true或者false,默认是true,表示异步
ajax.send(String)
注意,GET没有参数,POST请求一定要有参数
GET请求
ajax.open(“GET”,‘getDate’,true);
ajax.send();
POST请求
ajax.open(“POST”,“getDate”,true)
//默认是"application/x-www-from"-urlencoden"方式提交请求
request.setRequestHeader(“Content-type”,“application/x-www-from”-urlencoden");//设置请求头
request.send(“name=‘aaaa’&gender=‘man’”);
,
其中
responseText:获得字符串形式的响应数据
responseXML:获得xml形式的响应数据
status和statusText:以数字和文本形式返回Http转态码
getAllResponseHeader():获得所以得响应报头
getResponseHeader():查询响应中的某个字段的值
readState属性
"0"请求未初始化,open还未调用
“1”:服务器连接已经建立,open已调用
“2”:请求已接收,也就是接收到头信息了
“3”:请求处理中,也就是接收到响应主体了
“4”:请求已经完成,且响应就绪,响应完成了
所以一般在请求成功的时候整个流程如下
``javascript
var ajax;
ajax.open("GET","getDate",true);
ajax.send();
ajax.onreadystatechange=fuction(){
//监听返回的状态,200和4表示成功
if(ajax.readstate==4&&ajax.status==200){
//请求成功后的事件处理
}
}
最后总结一下
1.HTTP请求的4个组成部分
HTTP请求方法或者动作(GET/POST);
正在请求的URL;
请求头,包含客户环境信息、身份信息等;
请求体(正文),包含客户提交的查询字符串信息、表单信息;
2.POST和GET方法
GET传送内容大小有限制一般小于2000个字符,用于用户信息获取,和在URL地址栏传递参数
POST 内容无限制,一般用于修改服务器端的数据
3.一个HTTP响应由三个部分组成
一个数字和文字组成的转态码。
响应头
响应体
4,HTTP状态码
1开头:信息类,表示收到了请求,正在处理
2开头:表示用户的请求已经收到,正在处理
3开头:表示客户请求端出现错误,需要重新发送请求或者其它操作
4开头:客户提交的信息出现错误,常见404
5开头:服务器端出现问题,接受到了请求,但不能正常完成处理