封装复杂的ajax请求

封装复杂的 ajax 请求 ajax 传参为对象的格式,方便之后进行数据处理 注意数据格式的处理 get 和 post 的处理方式不同,参数也不同 function ajax(obj){ if(window.XMLHttpRequest{ var xhr = new XMLHttpRequest(); }else{ var xhr = new ActiveXObject("Microsoft.XMLHTTP"); } // 数据的形式通常是key1=val1&key2=val2 // 但是实际在开发的时候数据的通常表示形式是{key1:val1,key2:val2} var str = ''; for(var i in obj.data){ str += i + '=' + obj.data[i] + '&'; } str = str.replace(/&$/,''); if(obj.type.toLowerCase() == "get"){ xhr.open("GET",obj.url+"?"+str,true); xhr.send(); } if(obj.type.toLowerCase() == "post"){ xhr.open("post",obj.url,true); xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhr.send(str); } xhr.onreadystatechane = function(){ if(xhr.readyState == 4){ if(xhr.status == 200){ var data = xhr.responseText; obj.fn(data); } } } }

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):