美文网首页
# jsonp 封装

# jsonp 封装

作者: yonglei_shang | 来源:发表于2016-11-30 21:10 被阅读31次

    不多说看代码

    function jsonp(url, parameter, callback) {
        // 生成一个 script 节点
        var script = document.createElement("script"); 
    
        // 生成一个随机字符串作为回调函数名
        var randomKey = "cbf" + new Date().getTime(); 
        // 将callback以生成的随机串为属性名添加到window对象上,这样,在页面的任意位置都能以window[randomkey]()形式访问回调函数
        window[randomKey] = callback; 
        url += "?callback=" + randomKey; 
    
        // 拼接参数
        if (parameter) {
            for (var p in parameter) {
                url += ("&" + p + "=" + parameter[p]); 
            }
        }
    
        // 设置script节点的src属性
        script.src = url; 
        // 拼接到dom结构中
        document.body.appendChild(script);
    
        // 操作完成后移除script标签
        script.onload = function () {
            document.body.removeChild(script);
        };
    }
    

    相关文章

      网友评论

          本文标题:# jsonp 封装

          本文链接:https://www.haomeiwen.com/subject/zcgtmttx.html