浅谈jQuery异步对象(XMLHttpRequest)
2014-11-17 09:09
661 查看
我们先来看看异步对象五部曲
这是post请求的、
复制代码 代码如下://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请求的
复制代码 代码如下:xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
是为了传输方式
在<from method='post' type="">
<from>中的type可以得到三种方式,其中包括application/x-www-form-urlencoded
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)的理解,如有遗漏,麻烦联系我,补充上。
您可能感兴趣的文章:
相关文章推荐
- 浅谈jQuery异步对象(XMLHttpRequest)
- Ajax学习(一),获得XMLHttpRequest对象,进行初步异步交互(jquery.javascript)
- jQuery的ajax()检验用户名;通过jQuery的load()/get()/post()方法实现;使用XMLHTTPRequest对象来进行AJAX的异步数据交互
- 使用XMLHttprequest对象进行异步调用html页面的示例
- JQuery:手动回收xmlHttpRequest对象
- 创建针对不同浏览器的XMLHttpRequest对象,异步校验
- 运用Ajax的xmlHttpRequest对象异步与后台交互并提示交互结果
- XMLHttpRequest对象_Ajax异步请求重点
- 对XMLHttpRequest异步请求的面向对象封装
- JQuery XMLHttpRequest对象 JqXHR
- js中XMLHttpRequest对象实现GET、POST异步传输
- 利用XMLHttpRequest对象异步发送XML文档
- 使用xmlhttprequest对象来进行AJAX的异步数据交互
- XMLHttpRequest 对象实现异步交互
- Ajax-异步对象连接服务器-XMLHttpRequest
- jquery不会自动回收xmlHttpRequest对象 导致了内存溢出
- 使用JS和Ajax发出异步请求,XmlHttpRequest对象详解
- AJAX 多次发送异步请求的 XmlHttpRequest 对象的设置
- XMLHttpRequest对象_Ajax异步请求重点(推荐)
- 使用xmlHttpRequest对象完成异步交互时,遇到的问题