原生实现ajax和promise实现

http://caibaojian.com/ajax-jsonp.html
我的理解:关于注册回调函数。一般要把它最先写了,等到一会open和send时候就不至于没有回调。

//第一步,创建XMLHttpRequest对象
var xmlHttp = new XMLHttpRequest();
function CommentAll() {
    //第二步,注册回调函数
    xmlHttp.onreadystatechange =callback1;
    //{
    //    if (xmlHttp.readyState == 4)
    //        if (xmlHttp.status == 200) {
    //            var responseText = xmlHttp.responseText;

    //        }
    //}
    //第三步,配置请求信息,open(),get
    //get请求下参数加在url后,.ashx?methodName = GetAllComment&str1=str1&str2=str2
    xmlHttp.open("post", "/ashx/myzhuye/Detail.ashx?methodName=GetAllComment", true);

    //post请求下需要配置请求头信息
    //xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    //第四步,发送请求,post请求下,要传递的参数放这
    xmlHttp.send("methodName = GetAllComment&str1=str1&str2=str2");//"

}
//第五步,创建回调函数
function callback1() {
    if (xmlHttp.readyState == 4)
        if (xmlHttp.status == 200) {
            //取得返回的数据
            var data = xmlHttp.responseText;
            //json字符串转为json格式
            data = eval(data);
            $.each(data,
                function(i, v) {
                    alert(v);
                });       
        }
}

promise实现ajax

'use strict';

// ajax函数将返回Promise对象:
function ajax(method, url, data) {
    var request = new XMLHttpRequest();
    return new Promise(function (resolve, reject) {
        request.onreadystatechange = function () {
            if (request.readyState === 4) {
                if (request.status === 200) {
                    resolve(request.responseText);
                } else {
                    reject(request.status);
                }
            }
        };
        request.open(method, url);
        request.send(data);
    });
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从龙泉市区开车前往宝溪乡,途经102县道,原来就是蜿蜒曲折的山路。一路上风景优美,偶遇路边的枣树,栗子树,还有掩映...
    louyang阅读 544评论 0 0
  • 一、《君生我未生,我生君已老》 君生我未生,我生君已老。 君恨我生迟,我恨君生早。 君生我未生,我生君已老。 恨不...
    飞飞鸟鸟阅读 3,408评论 5 73
  • 今天是假期的最后一天,早点起床和孩子准备整理整理作业,假期作业查漏补缺,结果还有好几张纸没有填,快点和儿子填好了,...
    雨夜_5bc4阅读 106评论 0 1
  • 文/飘聆 一样的清早 不一样的感觉 有花 有露 有啼鸟 呼吸着清新的空气 一样的晨曦 不一样的美 有花 有树 有河...
    飘聆阅读 180评论 0 0