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);
});

  

最新文章

  1. xcode中的.h和.m文件分别是什么意思?各有什么用?
  2. Jquery 系列(2) 选择元素
  3. thinkPHP--CURD操作
  4. iOS ---Swift学习与复习
  5. processing学习笔记
  6. 程序员必须知道的git托管平台
  7. HTML5 本地裁剪图片
  8. 算法导论学习-binary search tree
  9. lnmp-zabbix
  10. 淘宝异构数据源数据交换工具 DataX
  11. 安裝 Rails 開發環境
  12. BEncoding的编码与解码
  13. iOS 常用代码块
  14. nextInt()和nextLine()一起使用时的注意点
  15. Image 上传下载Api
  16. TFS2015创建项目
  17. pycharm同级目录导入问题
  18. [CC-TRIPS]Children Trips
  19. linux执行可执行文件时报xxx:not found
  20. 【WPF】鼠标拖拽功能DragOver和Drop

热门文章

  1. 常用的前端相关chrome插件
  2. odoo10源码 windows环境安装
  3. 「雅礼集训 2017 Day5」珠宝
  4. 基于jeesite的cms系统(六):Lucene全文搜索引擎
  5. jenkins 自动化部署执行shell
  6. mysql—常用查询语句总结
  7. use case 的缺陷
  8. 【6】学习C++之类的实例化及访问
  9. linux --xampp 配置多个网站
  10. less封装样式有规律的类选择器-遁地龙卷风