Ajax的总结
获取引擎XmlHttpRequest对象;
function getXmlHttpRequest(){ var xhr=null; if((typeof XMLHttpRequest)!='undefined'){ xhr=new XMLHttpRequest(); } else{ xhr=new ActiveXObject('Microsoft.XMLHttp'); } return xhr; }
//一般ajax需要写的几个步骤:4个基本;
function test(){
var xhr=getXmlHttpRequest();
xhr.open("get(或者)post","/url(地址--自己设定保持和后台一致即可)",true(异步))
xhr.onreadystatechange=function(){
//事件的监听 一般用 xhr.status==200&&xhr.readyState==4 来判断页面的加载和数据的发送、接收是否完成---状态值可以参考下面提示;
}
xhr.send(参考下面提示,post)//如果前面是get方式就发送null;
}
2.ajax的工作原理;
1.ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从
服务器获得数据,然后用javascript来操作dom而更新页面;(怎么从服务器
获得请求数据?第一个问题)
2.XMLHttpRequest是ajax的核心机制,是一种支持异步请求的技术;--
也就是javascript可以及时向服务器提出请求和处理响应,而不阻塞用户
达到无刷新的效果;
3.XMLHttpRequest的对象属性:
1.onreadystatechange:每次状态改变所触发事件的事件处理程序;
2.reponseText:从服务器进程返回数据的字符串形式;
3.responseXML:从服务器进程返回的dom兼容的文档数据对象;
4.status:从服务器返回的数字代码,比如常见的404(未找到)和200(已就绪)
5.status Text:伴随状态码的字符串信息;
6.readyState:对象状态值:
0(未初始化)对象已建立,但是尚未初始化(尚未调用open方法)
1(初始化)对象已建立,尚未调用send方法;
2(发送数据)send方法已调用,但是当前的状态及http头未知;
3(数据传送中)已接收部分数据,因为响应及http头不全,这时
通过responseBody和responseText获取部分数据会出现错误;
4(完成)数据接收完成;
4.5.XmlHttpRequest的两个方法,open和send
open指定了:
1.向服务器提交数据的类型,即post还是get;
2.请求的url地址和传递的参数;
3.传输方式,false为同步,true为异步;(我们需要根据实际需要来指定同步方式,
在某些页面中,可能会发出多个请求,甚至是有组织有计划有队形大规模的高强度的request,
而后一个是会覆盖前一个的,这个时候当然要指定同步方式。)
send方法用来发送请求;
//1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;
使用send方法传递参数使用的是post方法,需要
设定Content-Type头信息,模拟HTTP POST方法发送一个表单,这样服务器才会知道如何处理上传
的内容。参数的提交格式和get方法中url的写法一样。设置头信息前必须先调用open方法。
例如:
xmlHttp.open("POST","/login",true);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
xmlHttp.send("name="+name+"&pwd="+pwd);
//不懂得地方多做实验;
以上有些总结是各方找的资料;