var InfoURL
$.get("https://ipinfo.io", function(response) {
if(response.ip.indexOf(':') > -1) {
InfoURL = 'google.com';
} else {
InfoURL = 'google.ch';
}
alert(InfoURL);
}, "jsonp");
alert (InfoURL);
那么为什么第二个alert
是一个空变量?我必须改变什么才能使变量成为全局变量?
答案 0 :(得分:0)
这是因为$.get
函数是异步的,你需要使用promises,或者将函数包装到你自己的函数中,它接受这样的回调:
function myGet(callback) {
$.get("https://ipinfo.io", function(response) {
if(response.ip.indexOf(':') > -1){
callback('google.com');
} else {
callback ('google.ch');
}
}, "jsonp")
}
用法:
myGet(function(data) {
alert(data);
});