JSONP方法简单封装
2024-08-27 10:59:39
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);
});
最新文章
- xcode中的.h和.m文件分别是什么意思?各有什么用?
- Jquery 系列(2) 选择元素
- thinkPHP--CURD操作
- iOS ---Swift学习与复习
- processing学习笔记
- 程序员必须知道的git托管平台
- HTML5 本地裁剪图片
- 算法导论学习-binary search tree
- lnmp-zabbix
- 淘宝异构数据源数据交换工具 DataX
- 安裝 Rails 開發環境
- BEncoding的编码与解码
- iOS 常用代码块
- nextInt()和nextLine()一起使用时的注意点
- Image 上传下载Api
- TFS2015创建项目
- pycharm同级目录导入问题
- [CC-TRIPS]Children Trips
- linux执行可执行文件时报xxx:not found
- 【WPF】鼠标拖拽功能DragOver和Drop