为了账号安全,请及时绑定邮箱和手机立即绑定

模拟jQ封装ajax,调用时出现Uncaught ReferenceError: param is

模拟jQ封装ajax,调用时出现Uncaught ReferenceError: param is

摇曳的蔷薇 2019-03-20 15:19:34
//模拟jQuery封装ajax 暂不考虑跨域和默认返回数据类型为JSONfunction ajax(obj){    var temp={        type:'get',        url:"#",        data:{},        success:function(param){console.log(param)}    };    for(var key in obj){        temp[key]=obj[key];    }    var data='';    for(var key in temp.data){        data+=`${key}=${temp.data[key]}&`;    }    if(data){        data=data.substr(0,data.length-1);    }    var xhr=new XMLHttpRequest();    xhr.onreadystatechange=function(){        if(xhr.readyState===4){            if(xhr.status===200){                var param=JSON.parse(xhr.responseText);                temp.success(param);            }        }    };    var main=null;    if(temp.type==='get'){        temp.url+="?"+data;    }else{        main=data;        xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');    }    xhr.open(temp.type,temp.url,true);    xhr.send(main);}
查看完整描述

2 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

可以参考Ajax入门(二)Ajax函数封装,建议一开始不要追求与jQ的API相同,先实现功能~


查看完整回答
反对 回复 2019-03-28
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

//模拟jQuery封装ajax 暂不考虑跨域和默认返回数据类型为JSON

function ajax(obj){


var temp={

    type:'get',

    url:"#",

    data:{},

    success:function(param){console.log(param)}

};


for(var key in obj){

    temp[key]=obj[key];

}


var data='';

for(var key in temp.data){

    data+=`${key}=${temp.data[key]}&`;

}

if(data){

    data=data.substr(0,data.length-1);

}

var xhr=new XMLHttpRequest();

xhr.onreadystatechange=function(){

    if(xhr.readyState===4){

        if(xhr.status===200){

            var param=JSON.parse(xhr.responseText);

            temp.success(param);

        }

    }

};

var main=null;

if(temp.type==='get'){

    temp.url+="?"+data;

}

xhr.open(temp.type,temp.url,true);

if(temp.type==='post'){

    main=data;

    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded,charset=UTF-8 ');

}

xhr.send(main);

}


查看完整回答
反对 回复 2019-03-28
  • 2 回答
  • 0 关注
  • 595 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号