DBMNG数据库管理与应用

才能是来自独创性。独创性是思维、观察、理解和判断的一种独特的方式。
当前位置:首页 > 经验分享 > Javascript

异步对象(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-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就是为了解决各个浏览器的兼容性问题而已

本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号