封装原生js ajax函数
function ajax(type,url,data,callback){ var xhr = XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP") if(typeof data == "object"){ var str = "" for(var key in data){ str += `${key}=${data[key]}&` } data = str.slice(0,str.length - 1) } type = type.toupperCase() if(type == "GET"){ if(data){ xhr.open("GET",`${url}?${data}`,true) }else{ xhr.open("GET",url,true) } xhr.send() }else if(type == "POST"){ xhr.open('POST',url,true) if(data){ xhr.send(data) }else{ xhr.send() } }else{ return "error" } xhr.onreadystatechange = function(){ if(xhr.readyState == 4){ var res = xhr.responseText callback?callback( function(){ return res }()):"" } } }
ajax("get","./test.txt",null,function(response){ console.log("dosomething....") var res = response console.log(res) });
输出结果
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。