我正在向托管我的HTML文件的Web服务器发送一个发布命令,并且正在使用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/