在网页中使用原生的ajax,首先第一步需要创建XMLHttprequest。创建的方式如下:
var request;if(window.XMLHttpRequest){ request = new XMLHttpRequest(); //ie7+,Fiefox,Chrome,Oprea,Safari}else{ request = new ActiveXObject("Microsoft.XMLHTTP"); //ie6,ie5 这样主要为了兼容性考虑}
第二部:请求
XMlHttpRequest 发送请求分为两步(两个方法)
open(method,url,async)1,get或者post 2,url地址 3,同步还是异步 异步为true,同步为false,默认为true,可以不填写
send(String)这个方法中send 中的string字符串可以为空。如果open()方法中为get时,则不填写。如果为post的可以填写参数。
下面几个例子
1,request.open("get","get.php",true);request.send();2,request.open("post","post.php",true);request.send();3,request.open("post","create.php",true);request.setRequestHeader("Content-type","application/x-www.form-urlencoded");request.send("name=张三&sex=男");
第三步: Xmlhttprequest 取得响应
大致有一下这些方法:
responseText :获取字符串形式的响应数据
responseXML :获取xml形式的响应数据 status 和 statusText :以数字和文本形式返回HTTP状态吗 getAllResponseHeader():获取所有的响应报头 getResponseHeader() : 查询响应中的某个字段的值 readyState是XMLHttpRequest对象的一个属性,用来标识当前XMLHttpRequest对象处于什么状态。 status是XMLHttpRequest对象的一个属性,表示响应的HTTP状态码。获取readyState属性,获取状态,判断响应是否完成。
0:请求未初始化,open还没有调用 1:服务器连接已经建立,open已经调用。 2:请求已接收,也就是接收到头信息了 3:请求处理中,也就是接收到响应主体了。 4:请求已完成,且响应也已就绪,也就是响应完成了。通过onreadystatechange 来监听XMLHttprequest 的 readyState 属性的值:
例子:
request.open("get","get.php",true);request.send(); request.onreadystatechange = function(){ if(request.readyState == 4 && request.status == 200){ //业务处理代码 //request.responseText :获取字符串形式的响应数据 //request.responseXML :获取xml形式的响应数据 }}