XMLHTTPRequest

异步JavaScript与XML(AJAX)是一个专用术语,用于实现在客户端脚本与服务器之间的数据交互过程。这一技术的优点在于,它向开发者提供了一种从Web服务器检索数据而不必把用户当前正在观察的页面回馈给服务器。


对象的属性和方法:

属性说明
readyState表示XMLHttpRequest对象的状态:
0:未初始化。对象已创建,未调用open;
1:open方法成功调用,但Sendf方法未调用;
2:send方法已经调用,尚未开始接受数据;
3:正在接受数据。Http响应头信息已经接受,但尚未接收完成;
4:完成,即响应数据接受完成。
Onreadystatechange请求状态改变的事件触发器(readyState变化时会调用这个属性上注册的javascript函数。
responseText服务器响应的文本内容
responseXML服务器响应的XML内容对应的DOM对象
Status服务器返回的http状态码。200表示“成功”,404表示“未找到”,500表示“服务器内部错误”等。
statusText服务器返回状态的文本信息。

方法说明
Open(string method,string url,boolean asynch,String username,string password)指定和服务器端交互的HTTP方法,URL地址,即其他请求信息;Method:表示http请求方法,一般使用”GET”,”POST”.url:表示请求的服务器的地址;asynch:表示是否采用异步方法,true为异步,false为同步;后边两个可以不指定,username和password分别表示用户名和密码,提供http认证机制需要的用户名和密码。
Send(content)向服务器发出请求,如果采用异步方式,该方法会立即返回。content可以指定为null表示不发送数据,其内容可以是DOM对象,输入流或字符串。
SetRequestHeader(String header,String Value)设置HTTP请求中的指定头部header的值为value.此方法需在open方法以后调用,一般在post方式中使用。
getAllResponseHeaders()返回包含Http的所响应头信息,其中相应头包括Content-length,date,uri等内容。返回值是一个字符串,包含所有头信息,其中每个键名和键值用冒号分开,每一组键之间用CR和LF(回车加换行符来分隔)
getResponseHeader(String header)返回HTTP响应头中指定的键名header对应的值
Abort()停止当前http请求。对应的XMLHttpRequest对象会复位到未初始化的状态。

XMLHttpRuquest使用

1. 创建XMLHttpRuquest对象
var xmlhttprequest;
    if(window.XMLHttpRequest){
        xmlhttprequest=new XMLHttpRequest();
        if(xmlhttprequest.overrideMimeType){
            xmlhttprequest.overrideMimeType("text/xml");
        }
    }else if(window.ActiveXObject){
        var activeName=["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
        for(var i=0;i<activeName.length;i++){
            try{
                xmlhttprequest=new ActiveXObject(activeName[i]);
                break;
            }catch(e){

            }
        }
    }

    if(xmlhttprequest==undefined || xmlhttprequest==null){
        alert("XMLHttpRequest对象创建失败!!");
    }else{
        this.xmlhttp=xmlhttprequest;
    }
2. 注册回调方法

xmlhttp.onreadystatechange=callback;

3. 设置和服务器交互的相应参数

xmlhttp.open("GET","ajax?name=" +userName,true);

4. 设置向服务器端发送的数据,启动和服务器端的交互

xmlhttp.send(null);

5. 判断和服务器端的交互是否完成,还要判断服务器端是否返回正确的数据
//根基实际条件写callback的功能代码
function callback(){
 if(xmlhttp.readState==4){
 //表示服务器的相应代码是200;正确返回了数据 
if(xmlhttp.status==200){ 
//纯文本数据的接受方法 
var message=xmlhttp.responseText; 
//使用的前提是,服务器端需要设置content-type为text/xml 
//var domXml=xmlhttp.responseXML; 
//其它代码
 } 
}
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值