JSONP方式解决跨域
Script标签的src属性不受同源策略的限制而完成跨域操作的一门技巧
且该方法只适用于get请求传值,对于post请求则无法完成。
(function(w){
w.lufei = {};
w.lufei.jsonp = function(obj){
var defaults = {
url:"#",
data:{},
type:"get",
jsonp:"callback",
jsonpCallback:"hehe",
success:function(data){
console.log(data);
}
};
for(var key in obj){
defaults[key] = obj[key];
}
var params = "";
for(var attr in defaults.data){
params +=attr+"="+defaults.data[attr]+"&";
}
if(params){
params = params.substring(0,params.length-1);
}
defaults.url +="?"+params;
defaults.url +="&"+defaults.jsonp+"="+defaults.jsonpCallback;
var script =document.createElement("script");
script.src = defaults.url;
window[defaults.jsonpCallback] = function(data){
defaults.success(data);
};
var head = document.querySelector("head");
head.appendChild(script);
}
})(window)

浙公网安备 33010602011771号