码迷,mamicode.com
首页 > 编程语言 > 详细

javaScript学习之ajax

时间:2015-07-30 18:44:33      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

1.xmlHttpRequest对象的创建

ajax的核心的XMLHttpRequest对象,下面的代码给出了兼容各个浏览器的方法实现

function createXHR(){
    if(typeof XMLHttpRequest !="undefined"){
        return new XMLHttpRequest();
    }else if(typeof ActiveXObject != undefined){
        if(typeof arguments.callee.activeXString !="string"){
            var versions=["MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp"];
            var i,len;
            for(i=0;len=versions.length;i++){
                try{
                    new ActiveXObject(versions[i]);
                    arguments.callee.activeXString=versions[i];
                    break;
                }catch(ex){

                }
            }
        }
        return new ActiveXObject(arguments.callee.activeXString);
    }else{
        throw new Error("no XHR object available...");
    }
}

事实上,如果不理会IE7之前的版本,使用原生的CHR就能够实现。

2,XHR常用方法

1)xhr.open():接受三个参数,请求类型(get,post),请求的url,是否是异步请求(是为true,否为false)

2)xhr.send():get为null,post为要发送的数据。

3)xhr.setRequestHeader(),设置请求头

4)xhr.onreadystatechage 设置异步请求的回调函数,为了保证浏览器的兼容性,需要在open()之前指定该回调

在请求过程中,xhr对象的readystate属性会发生变化

1)0:尚未初始化,尚未成功调用open()方法

2)1:启动,已经调用open(),尚未调用send()

3) 2: 发送,已经调用send()

4) 3: 接收,已经接收到部分响应

5)4:完成,已经接收到全部响应数据,客户端可以使用

在收到响应后,响应数据会自动填充xhr对象的下列属性:

1)responseText:响应文本

2) responseXML 如果响应类型是"text/xml"或者"application/xml",该属性有值,否则为空

3)status 响应状态码,一般200是成功的标志,304代表从缓存中取得数据

4)statusText 响应状态说明,最好不要使用,在跨浏览器中不太可靠

 

 

javaScript学习之ajax

标签:

原文地址:http://www.cnblogs.com/bobodeboke/p/4689917.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!