gpt4 book ai didi

javascript - 无法将函数值存储在变量中

转载 作者:行者123 更新时间:2023-11-28 20:31:34 25 4
gpt4 key购买 nike

我想将 data.ip 值存储在 ipdata 变量中。

alert( "Your ip: "+ data.ip) 显示正确的 ip 地址值,但 alert(ipdata) 显示未定义

$(document).ready(function () {

var ipdata;

$.getJSON("http://jsonip.appspot.com?callback=?",
function(data){
ipdata=data.ip;
alert( "Your ip: " + data.ip);
});
alert(ipdata);
});

});

最佳答案

它不会按预期工作,因为您正在 ajax 调用的回调方法内分配 ipdata=data.ip;。 Ajax 调用本质上是异步的,这意味着一旦请求发送到服务器,alert(ipdata); 将在执行 ajax callbacl 函数之前执行。

因此您想要对 ipdata 进行的任何处理都必须在回调函数内完成

$(document).ready(function () {

var ipdata;

$.getJSON("http://jsonip.appspot.com?callback=?",
function(data){
ipdata=data.ip;
alert( "Your ip: " + data.ip);
alert(ipdata);
});
});

});

关于javascript - 无法将函数值存储在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16263049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com