脚本宝典收集整理的这篇文章主要介绍了javascript代码实例教程-jQuery异步对象(XMLHttpRequest)解析,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。
我们先来看看异步对象五部曲
这是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-url@R_126_689@");
//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就是为了解决各个浏览器的兼容性问题而已
觉得可用,就经常来吧! 脚本宝典 欢迎评论哦! js脚本,巧夺天工,精雕玉琢。小宝典献丑了!
以上是脚本宝典为你收集整理的javascript代码实例教程-jQuery异步对象(XMLHttpRequest)解析全部内容,希望文章能够帮你解决javascript代码实例教程-jQuery异步对象(XMLHttpRequest)解析所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。