function $ajax(json){ ???//初始化参数 ???if(!json){ ???????return; ???} ???json.type = json.type || ‘GET‘; ???json.url = json.url || ""; ???json.async = json.async || true; ???json.data = json.data || {}; ???json.succeed = json.succeed || function(){} ???????if(json.dataType=="jsonp"){ ???????????????var oScript=document.createElement("script") ???????oScript.src=json.url ???????document.body.appendChild(oScript); ???????oScript.remove() ???????return ???} ???//将json.data对象转为符合传递参数的格式 ???var arr = []; ???for(var key in json.data){ ???????arr.push(key + ‘=‘ + json.data[key]); ???} ???var str = arr.join(‘&‘); ???alert(str); ???var xhr = new XMLHttpRequest(); ???if(json.type.toUpperCase() === ‘GET‘){ ???????xhr.open(json.type,json.url + "?" + str,json.async); ???????xhr.send(); ???}else if(json.type.toUpperCase() === ‘POST‘){ ???????xhr.open(json.type,json.url,json.async); ???????xhr.setRequestHeader("content-type","application/x-www-form-urlencoded;charset=utf-8"); ???????xhr.send(str); ???} ???xhr.onreadystatechange = function(){ ???????if(xhr.readyState === 4 && xhr.status === 200){ ???????????json.succeed(xhr.responseText); ???????} ???}}
原生封装一个类似于JQ的ajax方法
原文地址:https://www.cnblogs.com/zzkxjh/p/10087558.html