源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

浅谈jQuery异步对象(XMLHttpRequest)

  • 时间:2020-02-13 01:03 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:浅谈jQuery异步对象(XMLHttpRequest)
我们先来看看异步对象五部曲 这是post请求的、
[u]复制代码[/u] 代码如下:
 //1.00创建异步对象             var xhr = new XMLHttpRequest();             //2.0             xhr.open("post", url,params, true);             //3.0将参数使用Formdata属性传递             xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");             //4.0设置回调函数             xhr.onreadystatechange = function () {                 if (xhr.readyState == 4 && xhr.status == 200) {                     alert(xhr.responseText);                 }             }             //5.0传递参数             xhr.send(params);
结合get请求做一个异步对象的封装 get 请求中的   xhr.setRequestHeader("If-Modified-Since", "0"); 是为了清除缓存 而post请求的
[u]复制代码[/u] 代码如下:
 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
是为了传输方式 在<from method='post' type=""> <from>中的type可以得到三种方式,其中包括application/x-www-form-urlencoded  
[u]复制代码[/u] 代码如下:
var ajaxHelp = {     CreatXHR: function () {         //创建异步对象         var xhr = new XMLHttpRequest();         return xhr;     },     //ajax的get请求     AjaxGet: function (url, callBack) {         this.AJaxCommon("get", url, null, callBack);     },     //ajax的post请求     AjaxPost: function (url, params, callBack) {         this.AJaxCommon("post", url, params, callBack);     },     AJaxCommon: function (method, url, params, callBack) {         //1.0         var xhr = this.CreatXHR();         //2.0         xhr.open(method, url, true);         //3.0         if (method == "get") {             xhr.setRequestHeader("If-Modified-Since", "0");         } else {             xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");         }         //4.0         xhr.onreadystatechange = function () {             if (xhr.readyState == 4 && xhr.status == 200) {                 var datas = JSON.parse(xhr.responseText);                 //执行回调函数                 callBack(datas);             }         }         //5.0         xhr.send(params);     } };
ps:在JQuery里面是有$.ajax  和$.get /   $.Post  等异步请求的方法的。以前的封装就不用了。额。好扯。其实他们底层也是这样的写的呢。JQuery就是为了解决各个浏览器的兼容性问题而已 以上就是本人对于jQuery异步对象(XMLHttpRequest)的理解,如有遗漏,麻烦联系我,补充上。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部