zoukankan      html  css  js  c++  java
  • 原生js实现ajax方法

    下面是一个比较完整的Ajax

    function ajax(){ 
      var ajaxData = { 
        type:arguments[0].type || "GET", 
        url:arguments[0].url || "", 
        async:arguments[0].async || "true", 
        data:arguments[0].data || null, 
        dataType:arguments[0].dataType || "text", 
        contentType:arguments[0].contentType || "application/x-www-form-urlencoded", 
        beforeSend:arguments[0].beforeSend || function(){}, 
        success:arguments[0].success || function(){}, 
        error:arguments[0].error || function(){} 
      } 
      ajaxData.beforeSend() 
      var xhr = createxmlHttpRequest();  
      xhr.responseType=ajaxData.dataType; 
      xhr.open(ajaxData.type,ajaxData.url,ajaxData.async);  
      xhr.setRequestHeader("Content-Type",ajaxData.contentType);  
      xhr.send(convertData(ajaxData.data));  
      xhr.onreadystatechange = function() {  
        if (xhr.readyState == 4) {  
          if(xhr.status == 200){ 
            ajaxData.success(xhr.response) 
          }else{ 
            ajaxData.error() 
          }  
        } 
      }  
    } 
      
    function createxmlHttpRequest() {  
      if (window.ActiveXObject) {  
        return new ActiveXObject("Microsoft.XMLHTTP");  
      } else if (window.XMLHttpRequest) {  
        return new XMLHttpRequest();  
      }  
    } 
      
    function convertData(data){ 
      if( typeof data === 'object' ){ 
        var convertResult = "" ;  
        for(var c in data){  
          convertResult+= c + "=" + data[c] + "&";  
        }  
        convertResult=convertResult.substring(0,convertResult.length-1) 
        return convertResult; 
      }else{ 
        return data; 
      } 
    }

    对比看下Jquery的Ajax

    ajax({ 
      type:"POST", 
      url:"ajax.php", 
      dataType:"json", 
      data:{"val1":"abc","val2":123,"val3":"456"}, 
      beforeSend:function(){ 
        //some js code 
      }, 
      success:function(msg){ 
        console.log(msg) 
      }, 
      error:function(){ 
        console.log("error") 
      } 
    })
    ajax({ 
      type:"POST", 
      url:"ajax.php", 
      dataType:"json", 
      data:{"val1":"abc","val2":123,"val3":"456"}, 
      beforeSend:function(){ 
        //some js code 
      }, 
      success:function(msg){ 
        console.log(msg) 
      }, 
      error:function(){ 
        console.log("error") 
      } 
    })
  • 相关阅读:
    Jaba_Web--JDBC 修改记录操作模板
    Jaba_Web--JDBC 查询记录操作模板
    Jaba_Web--JDBC 删除记录操作模板
    Java_Web--JDBC 增加记录操作模板
    C语言编程入门题目--No.15
    C语言编程入门题目--No.13
    C语言编程入门题目--No.14
    C语言编程入门题目--No.12
    C语言编程入门题目--No.10
    C语言编程入门题目--No.11
  • 原文地址:https://www.cnblogs.com/adaia/p/7142598.html
Copyright © 2011-2022 走看看