javascript代码实例教程-jQuery异步对象(XMLHttpRequest)解析

发布时间:2018-12-29 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了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=&#39;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,请注明来意。