zoukankan      html  css  js  c++  java
  • js 原生 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; 
      } 
    }
    
    
    // 调用示例
    /*ajax({ 
      type:"POST", 
      url: url, 
      dataType:"json", 
      data:data, 
      beforeSend:function(){ 
        //some js code 
      }, 
      success:function(data){ 
       	console.log(data) 
      }, 
      error:function(){ 
        console.log("error") 
      } 
    })
    */
    

      

  • 相关阅读:
    三种方式重启NGINX 简单
    转MongoDB、HandlerSocket和MySQL性能测试及其结果分析 简单
    php ini_set post_max_size,upload_max_filesize 简单
    grep 命令 简单
    ANSI,GBK,UTF8,UTF16LE,UTF16BE 简单
    提升工作效率软件 简单
    会议记录 简单
    第一章 :zabbix监控
    第七章 :分布式监控与SNMP监控
    linux系统安装SNMP(可用)
  • 原文地址:https://www.cnblogs.com/aifengguo/p/9488096.html
Copyright © 2011-2022 走看看