简单jsonp实现跨域请求

时间:2022-11-21 21:34:55

自己整理的,直接上代码,废话不多说,不足之处,欢迎指正!简单jsonp实现跨域请求


(function(window,document,undefined){
'use strict';
var jsonp = function (url,data,callback) {

                //随机生成一个回调函数

var cbFnName = 'json_cb_'  + Math.random().toString().replace('.','');
window[cbFnName] = callback;

var queryStr = url.indexOf('?') ==  -1  ?  "?"  : '&';
for (var key in data) {
queryStr  +=  key + '='+data[key] + '&';

}

queryStr  +=  'callback=' + cbFnName;
var scriptEle = document.createElement('script');
scriptEle.src = url + queryStr;


document.body.appendChild(scriptEle);

}

window.$jsonp = jsonp; //使用window对象暴露到全局中使用

//各位小伙伴可以结合豆瓣提供的免费API进行测试
//在获取完成数据使用完成后可将当前的脚本移除,减小内存消耗

}(window,document));