自己手动写一个jsonp跨域的组件
上代码:
使用组件代码:
上代码:
(function (window, document, undefined) {
// 1、挂载回调函数
// 2、将data转换为字符串形式
// 3、处理url中的回调参数
// 4、创建一个script标签
// 5、将script标签放到页面中
var callbackFnName = 'my-jsonp' + Math.random();
window[callbackFnName] = callback;
var jsonp = function (url, data, callback) {
var queryString = url.indexOf('?') === -1 ? '?' : '&';
for (var key in data) {
queryString += key + '=' + data[key] + '&';
}
queryString += 'callback = '+ callbackFnName;
var scriptEle = document.createElement('script');
scriptEle.src = url + queryString
document.body.appendChild(scriptEle);
window.$jsonp = jsonp
}
})(window, document)
使用组件代码:
(function(){
$jsonp('要跨域请求的地址', {'要传入的参数'}, function (data) {
//拿到后台数据后的回调函数
})
})