gpt4 book ai didi

javascript - 将 var 设置为等于从函数返回的数据

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

var ipAddress="unknown";
$.getJSON('http://jsonip.appspot.com/?callback=?',
function(data){
ipAddress=data.ip;});


document.getElementById('callbackForm').elements["callback_form.ipAddress"].value = ipAddress;

这段 JavaScript 代码将 var ipAddress 设置为“unknown”,然后执行一个 jquery 函数,将 ipAddress 的值设置为用户的 IP。然后我尝试将表单元素设置为等于 ipAddress 的值。

这不起作用。表单元素被设置为“未知”。我不确定这是否是一个范围问题?任何建议表示赞赏。

最佳答案

发生的情况是回调正在异步执行。 $.getJSON call 告诉浏览器“从这个 URL 获取数据;准备好后,调用我提供的函数”。该函数不会立即执行。

您可以将更多逻辑移至回调中(即内联 ipAddress var 并分配给回调中的表单元素),或切换到功能更齐全的 jQuery.ajax方法和传递async:false在选项集中。当然,在所有情况下,您都将在调用的其余部分执行之前等待网络。

关于javascript - 将 var 设置为等于从函数返回的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6541143/

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