【发布时间】:2018-02-09 18:40:50
【问题描述】:
我尝试了在其他问题中看到的各种解决方案,但没有成功记录 data.ip。
当我登录foo 时,我只返回undefined。为什么在 async 设置为 false 时未记录 ip 属性?
TY
$.ajaxSetup({
async: false
});
var getIp = function() {
var ip;
$.getJSON('//freegeoip.net/json/?callback=?', function(data) {
ip = data.ip;
});
return ip;
}
var foo = getIp();
console.log(foo);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
【问题讨论】:
-
请求的页面是否返回了有效的 JSON?
-
@Marcin:是的,从请求的页面返回了有效的 JSON。
-
永远,永远,永远将
async设置为false。它会严重损害您网页的性能。 -
不要使用
async:false正确使用异步回调模式 -
$.getJSON 不接受
async: false根据 stackoverflow.com/questions/2765411/…
标签: javascript jquery json ajax