您的位置:首页 > 其它

AJAX无刷新验证技术

2016-11-08 19:19 239 查看
Ajax(Asynchronous Javascript and XML)即异步 JavaScript 和 XML 是时下最流行的一种技术。Ajax 不是一种新的技术,而是原有技术的一种集合。
Ajax 的核心技术是 XMLHttpRequest。通过 XMLHttpRequest 的 open() 方法和 send() 方法,可以在不刷新当前页面的情况下向处理页面发送数据;
通过 XMLHttpRequest 的 responceText() 和 responceXML() 属性,可以得到处理页的输出结果。


使用 Ajax 的一般步骤

创建 XMLHttpRequest 对象。

var xmlhttp=false;
//如果 ActiveXObject 存在,说明是 IE1.0 以上的版本,否则使用 XMLHttpRequest 创建
if(window.ActiveXObject){
xmlhttp = new ActiveXObject("MicroSoft.XMLHTTP");
}else if(window.XMLHttpRequest){
smlhttp = new XMLHttpRequest();
}


2.使用 open() 方法创建新请求:

xmlhttp.open(rmethod, rurl, isAsync);


参数说明:

(1)rmethod:请求的方法,如 post(), get();

(2)rurl:指明请求的页面,绝对路径或相对路径;

(3)isAsync:指明请求是否为异步。默认为 true ,即异步。

3.如果 isAysnc为 true ,那么当请求的状态改变时,将调用 onreadystatechange 属性,该属性指定了一个回调函数,格式:

xmlhttp.onreadystatechange = function(){...}


4.在回调函数中,首先要通过 readyState 属性和 status 属性来判断 http 的请求状态和 http 状态码。readyState() 属性有 5 种状态,常用 4 表示数据接收完毕。status 的属性值较多,通常用的就是 200,表示请求成功。例:

xmlhttp.onreadystatechange = function() {
if(readyState=4 && status=200)
}


5.相应处理结束后,即满足了 “readyState=4 && status=200”这个条件,就可以使用 XMLHttpRequest 对象的属性来获取相应页面的值了。常用的有 responseText, responseXML, responseStream。例:responseText 属性是将相应页面的输出信息以字符串的形式返回。

str = xml.responseText;


6.最后使用 send() 方法来接收回应。send() 方法可以传递数据,但这取决于 open() 方法中的 rmethod 参数。当此参数的值是 get 时,数据直接附在 URL 中进行传递,当参数为 post 时,数据只能使用 send() 方法进行传递:

xml.send([rdata]);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: