ajax

   Ajax基础
1.1认识Ajax
        Ajax(Asynchronous  JavaScript  And  Xml),Ajax不是一种全新的技术,而是整合了几种现有的技术JavaScript、XML和CSS。是一种创建交互式网页应用的网页开发技术。

        异步:JavaScript脚本发送请求后并不是一直等着服务器响应,而是发送请求后继续做别的事,请求响应的处理是异步完成的。
        XML :用于请求数据和响应数据的封装,CSS用于美化页面样式。
1.2Ajax的关键元素
        JavaScript语言 :Ajax技术的主要开发语言。   
        DOM文档对象 :通过DOM属性或方法修改局部元素,实现页面局部刷新。 
        CSS样式表:改变样式,美化页面效果,提成用户体验度。   
        XMLHttpRequest对象:以异步方式在客户端与服务器端之间传递数据。

1.3 创建XMLHttpRequest对象
        老版本(IE5和IE6):

xmlHttpRequest = new ActiveXObject(“Microsoft.XMLHTTP”);  

 

新版本和其他大部分浏览器:

xmlHttpRequest = new XMLHttpRequest(); 

 

 1.4. XMLHttpRequest对象的常用方法和属性
      方法:
    open() :用于创建一个新的HTTP请求,并指定此请求的方法、URL、是否异步提交及验证信息。
    send():发送请求到服务器。
    abort():取消当前请求。
    setRequestHeader():单独指定请求的某个HTTP头。
    getResponseHeader() :从响应中获取指定的HTTP头。
    getAllResponseHeader():获取响应的所有HTTP头。
     属性;
    readyState:返回请求的当前状态。常用值:0表示未初始化  1表示初始化  2表示发送数据  3表示数据传送中  4表示数据接收完毕
    status:返回当前请求的HTTP状态码。常用值:200表示正确返回  404表示找不到访问对象
    responseText:以文本形式获取响应值。
    responseXML:以XML形式获取响应值,并且解析成DOM对象返回。
    statusText:返回当前请求的响应行状态。
    onreadystatechange:设置回调函数。

1.5使用Ajax发送请求及处理响应
       发送get请求及处理文本方式响应:
1)创建XMLHttpRequest对象,通过window.XMLHttpRequest的返回值判断创建XMLHttpRequest对象的方式。
2)设置回调函数,通过onreadystatechange属性设置回调函数,其中回调函数需要自定义。
3)初始化XMLHttpRequest组件。通过open()方法创建一个设置了发送方式和请求路径的HTTP请求。
4)发送请求。

 

<script type="text/javascript">  
    function checkUser(){  
        /* 1.创建XMLHttpRequest对象 
        注意:创建对象前先要判断浏览器的版本 */  
        if(window.XMLHttpRequest){//返回值为true时,说明是新版本IE或其他浏览器  
             xmlHttpRequest = new XMLHttpRequest();  
        }else{//返回值为false时,说明是老版本IE  
           xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");  
        }  
        /* 2.设置回调函数 
         callBack是自定义回调函数 
         注意:这里只写函数的名称不写小括号 */  
        xmlHttpRequest.onreadychange = callBack;  
        /* 3.初始化XMLHttpRequest组件 
         open方法的参数说明 
         参数1:发送数据的方式,get/post 
        参数2:发送的请求地址以及发送的数据 
         参数3:true/false.true时表示使用异步操作 */  
        var name=document.getElementById("username").valueOf();  
        //get请求方式  
         //xmlHttpRequest.open("GET", "doIndex.jsp?name="+name, true);  
    //post请求方式  
         xmlHttpRequest.open("POST", "doIndex.jsp", true);  
        xmlHttpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  
        /* 4.发送请求 */  
       //xmlHttpRequest.send(null);  
       //post  
       xmlHttpRequest.send("name="+name);  
    }  
  
    function callBack(){  
    if(xmlHttpRequest.readyState==4 && xmlHttpRequest.status==200){  
        var result = xmlHttpRequest.responseText;  
        var resp=document.getElementById("result");  
        if(result.replace(/\s+/,"")=="true"){  
            resp.innerHTML="<font color='green'>用户名可以使用</font>";  
        }else{  
            resp.innerHTML="<font color='red'>用户名已占用</font>";  
        }  
    }  
    }  
</script>  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值