gpt4 book ai didi

javascript - 无法从后置函数编辑全局变量

转载 作者:行者123 更新时间:2023-12-02 22:20:01 25 4
gpt4 key购买 nike

我正在向托管 HTML 文件的网络服务器发送一个 post 命令,并且我正在使用 jquery 来执行此操作。

当我尝试使用alert()读取全局变量时,它显示0,但在returnData函数中,它给出了服务器返回的内容。

<script src = "jquery.js"></script>
<script>

var faces = 0;

postList()

alert(window.faces) //gives me 0

//function with the post command
function postList(){
$.post("/",{command : "2"},returnData);
}

function returnData(returnData,status){
//try to save the data
window.faces = returnData;
alert(window.faces); //gives me the data from the server
}

</script>

最佳答案

HTTP请求是一个异步操作,因此它将在所有同步代码之后被处理。阅读有关 JavaScript 事件循环的更多信息。但一般来说,JavaScript 会将变量值设置为 0,然后使用 postList() 发出 HTTP 请求,只有在其余同步代码(其中包含alert())之后才会调用 returnData(),因此在调用alert( ) 变量的值为 0。

关于javascript - 无法从后置函数编辑全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59255623/

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