·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> AjaxHelper的get和post请求的封装类
最近在学习ajax的时候发现不断的调用get和post请求时,代码重复很多,有的公司会用自带的封装的方法,这个可以直接调用ajax的方法,但是在运用的时候我们也应该学习它是怎么封装的和一些原理性的东西,Ajax技术在很多网站的开发都会用到,异步刷新大大提高了网站的性能。ajax的请求我们归结了五部曲,下面是我自己通过查找资料和学习总结的ajax的get和post请求的封装类。
代码:
1 var ajaxHelper = { 2 //1.得到异步对象 3 GetXhr: function () { 4 var xhr; 5 if (window.xmlHttPRequest) { 6 //兼容新式浏览器 7 xhr = new xmlhttpRequest(); 8 } else { //兼容IE老式浏览器 9 xhr = new ActiveXObject("Microsoft.XMLHTTP");10 }11 //返回异步对象12 return xhr;13 },14 //2.定义get请求15 ajaxGet: function (url, callback) {16 this.ajaxComm("get", url, null, callback);17 },18 //3.定义post请求19 ajaxPost: function (url,params,callback) {20 this.ajaxComm("post",url,params,callback);21 },22 //4.公共请求方法23 //method:get,post24 //url:需要发送的请求地址25 //parms:发送给服务器的数据,post的时候才有值,get为null26 //callbakc:请求成功以后的回调函数27 ajaxComm: function (method, url, params, callbakc) {28 //1.0创建异步对象29 var xhr = this.GetXhr();30 //2.0设置请求的参数31 xhr.open(method, url, params, callbakc);32 //3.0防止缓存33 if (method == "get") {34 xhr.setRequestHeader("If-Modified-Since", "0");35 } else {36 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");37 }38 //4.0设置回调函数39 xhr.onreadystatechange = function () {40 if(xhr.readyState==4&&xhr.status==200){41 var objdata = xhr.responseText;42 var data = JSON.parse(objdata);43 //执行业务逻辑44 callbakc(data);45 }46 }47 //5.0发送请求48 xhr.send(params);49 50 }51 }