Ajax上

作者: 追逐_e6cf | 来源:发表于2018-09-21 16:13 被阅读0次

    一、封装ajax

    function ajax(url, fnSuccess, fnFail){
      var xhr;
    
      //1.创建请求 兼容处理
      if(window.XMLHttpRequest){
        xhr = new XMLHttpRequest();
      }else{
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
      }
    
      //2.链接服务器
      xhr.open('GET', url, true);  //true是否异步
      
      //3.发送请求
      xhr.send();
      
      //4.接收返回
      xhr.onreadystatechange = function(){
        if(xhr.readyState == 4){
          if((xhr.status >= 200 && xhr.status<300) || xhr.status == 304){
            //成功
            var json = null;
            if(window.JSON){
              json = JSON.parse(xhr.responseText);
              fnSuccess(json);
            }else{
              json = eval('('+ xhr.responseText +')');
            }
          }else{
            //失败
            if(fnFail){
              fnFail(xhr.status);
            }
          }
        }
      }
    }
    

    二、调用封装好的ajax

    btn.onclick = function(){
      ajax("a.txt?t=" + new Date().getTime(), function(res){
        console.log(res);
      });
    }
    
    btn.onclick = function(){
      ajax("arr.txt", function(res){
        alert(res.length);
      });
    }
    
    btn.onclick = function(){
      ajax("json.txt", function(res){
        for(var i=0; i<res.length; i++){
          var li = document.createElement("li");
          li.innerHTML = "名字:<strong>" + res[i].name + "</strong>:年龄:<strong>" + res[i].age + "</strong>";
          ul.appendChild(li);
        }
      });
    }
    

    相关文章

      网友评论

          本文标题:Ajax上

          本文链接:https://www.haomeiwen.com/subject/qqaanftx.html