ajax.js封装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | //ajax 的get post封装 function ajaxF( method , url , json, callback ){ var xhr = new XMLHttpRequest() || new ActiveXObject("Microsoft.XMLHTTP"); var str = ""; for( var key in json ){ str += "&" + key +"=" + json[key]; } str = str.slice(1); if( method == "get" ){ url = url + "?" + str; xhr.open( "get" , url , true ); xhr.send(); }else{ xhr.open( "post" , url , true ); //设置请求头 xhr.setRequestHeader( "Content-Type","application/x-www-form-urlencoded" ) //post的请求数据要放在send里面 xhr.send( str ) } xhr.onreadystatechange = function(){ if( xhr.readyState == 4 && xhr.status == 200 ){ //拿到服务器的结果后 要实现的功能是可变的 callback( xhr.responseText );//函数调用 传递实参 } } } // 找一个天气情况的接口做测试 // ajaxF("get","http://wthrcdn.etouch.cn/weather_mini",{city:"北京"},function(res){ // var ul = document.createElement("ul"); // for( let i = 1 ; i <=5 ; i ++ ){ // var li = document.createElement("li"); // ul.appendChild(li); // li.style.width = "100px"; // li.style.border = "1px solid red"; // li.style.height = "200px"; // li.style.float = "left"; // li.style.display = "flex"; // } // document.body.appendChild(ul); // ul.style.width = "510px"; // ul.style.height = "200px"; // let oLi = document.querySelectorAll("li"); // let arr = JSON.parse(res).data.forecast // for( let i = 0 ; i < arr.length ; i++ ){ // oLi[i].innerHTML = arr[i].date + "<br>< br >" + arr[i].high + "< br >< br >" + arr[i].low + "< br >< br >" + arr[i].fengxiang // } // }) //例 // ajaxF("get","http://wthrcdn.etouch.cn/weather_mini",{city:"北京"},function(res){ // console.log(res) // }) // url :请求路径 // callback : 该参数是一个函数,回调函数 // data : 接口的参数 function ajaxGet(url,callback,data){ var xhr = null; if( window.XMLHttpRequest ){ xhr = new XMLHttpRequest(); }else{ xhr = new ActiveXObject("Microsoft.XMLHTTP"); } if( data ){ //如果有参数 在路径的后面拼接参数 url = url + "?" + data; } // if(arguments.length == 3){//表示传递的参数有三个 // url = url + "?" + data; // } xhr.open("GET",url,true); xhr.send(); xhr.onreadystatechange = function(){ if( xhr.readyState == 4 && xhr.status == 200 ){ //拿到服务器的结果后 要实现的功能是可变的 callback(xhr.responseText);//通过函数的调用将服务器处理的结果以参数形式传递给前端 } } } function ajaxPost(url,callback,data){ var ajax = null; if( window.XMLHttpRequest ){ ajax = new XMLHttpRequest(); }else{ ajax = new ActiveXObject("Microsoft.XMLHTTP"); } ajax.open("POST",url); ajax.send(data);//向服务器端发送数据 用户名 //设置请求头: ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); ajax.onreadystatechange = function(){ if(ajax.readyState == 4 && ajax.status == 200){ callback(ajax.responseText); } } } |
努力到无能为力,拼搏到感动自己。
欢迎大家在下方多多评论。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2019-07-08 React和Redux的连接react-redux