jsonp的封装

jsonp的封装

   document.onclick = function(){
        var url = "http://127.0.0.1/2019/jsonp/data/jsonp3.php"
        jsonp(url,function(res){
            alert(res)
        },{
            pass:"root",
            // 5.用来保存,后台接收的回调函数名所在的字段名
            // 为了给自己封装的函数传参,放置多次修改封装好的函数
            columnName:"cb",
            // 6.根据后台要接受的字段名,发送回调函数名,回调函数名,已经无所谓了,随机都行
            cb:"sdfsdfsdf"
        })
    }

    function jsonp(url,success,data){
        // 1.处理默认参数
        data = data || {};
        // 2.解析数据
        var str = "";
        for(var i in data){
            str += `${i}=${data[i]}&`;
        }

        // 3.创建script标签,设置src,准备开启jsonp
        var script = document.createElement("script");
        script.src = url + "?" + str;
        document.body.appendChild(script);

        // 4.定义全局函数
      
        window[data[data.columnName]] = function(res){
            success(res);
        }

    }

  

原文地址:https://www.cnblogs.com/xiaomala/p/11519493.html