我的ajax第一课

来源:互联网 发布:关于人工智能的建议 编辑:程序博客网 时间:2024/06/03 06:35
       2016-3-5我的ajax第一课
1.ajax优势
  1)不需要重新发送请求,完成网页刷新获得新内容
  2)验证是否重用
2.简单例子
  oBtn.onclick = function(){
     //打开浏览器——创建一个ajax对象(IE6以下不支持:new ActiveXObject('Microsoft.XMLHTTP'))
     var xhr = null;
     if(window.XMLHttpRequest){
     
        xhr = new XMLHttpRequest();
     }else{
        xhr = new ActiveXObject('Microsoft.XMLHTTP');
     }
     //输入地址——open方法:打开方式,地址,是否异步,false阻塞同步,true非阻塞异步(是否阻塞——一个事情没做完,另一件事就不能发生)
       后续代码和前面的代码有没有关系来确定是否异步;
     xhr.open('get','1.txt',ture);是非阻塞模式
     //提交——发送请求
     xhr.send();
     //等待服务器返回内容——ajax返回的内容存放在responseText(字符串);
      readyState属性便是ajax的工作状态:0初始化open()方法之前、1载入已调用send()方法、2send()方法完成载入完成、3解析正在解析内容、4完成解析;
      onreadyState事件请求ajax状态    
     xhr.onreadystatechange = function(){
          if(xhr.readyState == 4){
            if(xhr.status == 200){//容错处理
              alert(xhr.responseText);
             }else{
               alert('出错了,Err:'+xhr.status);
             }
          }
     }
  }
   注意:容错处理:请求出错——status属性:服务器不同状态对应不同的http状态码,例如404,无对象。
   不兼容问题解决方法二:
   try{}catch{}
   try{ xhr = new XMLHttpRequest}
   catch{ xhr = new ActiveXObject('Microsoft.XMLHTTP');}
3.表单提交数据的方式:
   1).get:用户信息会被浏览器缓存,不安全,通过URL传输数据;传输数据不易过长。
   2).post:通过头部信息请求头(可用开发者模式看网络传输);也会有限制


1 0
原创粉丝点击