zoukankan      html  css  js  c++  java
  • JSONP方法简单封装

        function myJsonp(url, data, callback) {
    
            //参数判断
            if (Object.prototype.toString.call(data) == "[object Function]") {
                callback = data;
                data = undefined;
            }
    
            //设置回调函数随机名称
            var cbFnName = "cb_" + Math.floor(Math.random() * 123456789).toString(32);
            this[cbFnName] = callback;
    
            //将data对象格式转换为aaa=bbb&ccc=ddd格式
            var stringIfyData = data != undefined ? Object.keys(data).map(function (key) {
                return encodeURIComponent(key) + "=" + encodeURIComponent(data[key]);
            }).join("&") + "&" : "";
    
            //生成script标签
            var scriptElement = document.createElement("script");
            scriptElement.src = url + (url.indexOf('?') > -1 ? '&' : '?') + stringIfyData + "callback=" + cbFnName;
            document.body.appendChild(scriptElement);
        }
    
        //调用豆瓣api-三个参数
        myJsonp("http://api.douban.com/v2/movie/top250", {name: "leyi"}, function (rps) {
            console.info("rps", rps);
        });
    
        //调用豆瓣api-两个参数
        myJsonp("http://api.douban.com/v2/movie/top250", function (rps) {
            console.info("rps", rps);
        });
    

      

  • 相关阅读:
    JVM(java 虚拟机)内存设置
    elasticsearch 安装和 基本操作命令
    Spring
    springmvc 文件上传和拦截器
    InitBinder和数据校验
    异常、类型转换
    git 提交方式
    Springmvc(二)
    Springmvc(一)
    SSM
  • 原文地址:https://www.cnblogs.com/leyi/p/9892612.html
Copyright © 2011-2022 走看看