浅谈jQuery异步对象(XMLHttpRequest)

前端之家收集整理的这篇文章主要介绍了浅谈jQuery异步对象(XMLHttpRequest)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我们先来看看异步对象五部曲

这是post请求的、

代码如下:
属性传递 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请求的

代码如下:

是为了传输方式 在中的type可以得到三种方式,其中包括application/x-www-form-urlencoded

<div class="codetitle"><a style="CURSOR: pointer" data="32178" class="copybut" id="copybut32178" onclick="doCopy('code32178')"> 代码如下:

<div class="codebody" id="code32178">
var ajaxHelp = {
CreatXHR: function () {
//创建异步对象
var xhr = new XMLHttpRequest();
return xhr;
},
//ajax的get请求
AjaxGet: function (url,callBack) {
this.AJaxCommon("get",null,callBack);
},
//ajax的post请求
AjaxPost: function (url,callBack) {
this.AJaxCommon("post",
AJaxCommon: function (method,callBack) {
//1.0
var xhr = this.CreatXHR();
//2.0
xhr.open(method,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)的理解,如有遗漏,麻烦联系我,补充上。

原文链接:https://www.f2er.com/jquery/57300.html

猜你在找的jQuery相关文章