PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > JavaScript教程 > 正文

    原生js实现ajax方法

    作者:admin来源:网络浏览:时间:2020-09-30 00:07:50我要评论
    导读:原生js实现ajax方法
    原生js实现ajax方法

    1. function ajax(){   
    2.     var ajaxData = {   
    3.         type:arguments[0].type || "GET",   
    4.         url:arguments[0].url || "",   
    5.         async:arguments[0].async || "true",   
    6.         data:arguments[0].data || null,   
    7.         dataType:arguments[0].dataType || "text",   
    8.         contentType:arguments[0].contentType || "application/x-www-form-urlencoded",   
    9.         beforeSend:arguments[0].beforeSend || function(){},   
    10.         success:arguments[0].success || function(){},   
    11.         error:arguments[0].error || function(){}   
    12.     }   
    13.     ajaxData.beforeSend()   
    14.     var xhr = createxmlHttpRequest();    
    15.     xhr.responseType=ajaxData.dataType;   
    16.     xhr.open(ajaxData.type,ajaxData.url,ajaxData.async);    
    17.     xhr.setRequestHeader("Content-Type",ajaxData.contentType);    
    18.     xhr.send(convertData(ajaxData.data));    
    19.     xhr.onreadystatechange = function() {    
    20.         if (xhr.readyState == 4) {    
    21.             if(xhr.status == 200){   
    22.                 ajaxData.success(xhr.response)   
    23.             }else{   
    24.                 ajaxData.error()   
    25.             }    
    26.         }   
    27.     }    
    28. }   
    29.    
    30. function createxmlHttpRequest() {    
    31.     if (window.ActiveXObject) {    
    32.         return new ActiveXObject("Microsoft.XMLHTTP");    
    33.     } else if (window.XMLHttpRequest) {    
    34.         return new XMLHttpRequest();    
    35.     }    
    36. }   
    37.    
    38. function convertData(data){   
    39.     iftypeof data === 'object' ){   
    40.         var convertResult = "" ;    
    41.         for(var c in data){     
    42.             convertResult+= c + "=" + data[c] + "&";     
    43.         }     
    44.         convertResult=convertResult.substring(0,convertResult.length-1)   
    45.         return convertResult;   
    46.     }else{   
    47.         return data;   
    48.     }   
    49. }   

     

    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-69-3644-1.html
    相关热词搜索: 原生js ajax