这是我的代码:
var user_ip ="not found";
$.get("http://ipinfo.io", function(response) {
var user_ip=response.ip;
alert("on line 749 user ip is " + user_ip);
}, "jsonp");
alert("on line 751 user ip is " + user_ip);
然而我的用户ip只保存在.get中,之后它总是恢复为“未找到”。
我知道这涉及使用回调来保存数据,但无法找到一个对我来说有意义的例子
答案 0 :(得分:0)
那是因为回调是在
之后异步执行的alert("on line 751 user ip is " + user_ip);
已被执行。
您可以执行here所示的同步GET请求,但我认为同步代码是不好的做法:)
第二个问题是您在回调函数范围内重新声明user_ip
,这意味着全局user_ip
不会像您原先想象的那样被覆盖。