gpt4 book ai didi

javascript - $.post() 之后的代码在 post-request 完成之前执行

转载 作者:行者123 更新时间:2023-12-03 00:14:43 38 4
gpt4 key购买 nike

我正在尝试使用 post 请求(jQuery 的 $.post)从服务器获取数据并将其分配给 JavaScript 变量。

代码如下:

function getData() {        
var zones = DUMMY_zones;
var workers = [];

console.log("1");

$.post('server/main.php', {info: 'req_workers'}, function(result) {
var result = JSON.parse(result);

console.log("2");

});


console.log("3");
return [zones, workers];
}

但奇怪的是,返回是在 $.post 请求完成之前执行的,因此 workers 是 undefined variable 。控制台输出如下:

ppe_c_js.js:82 1
ppe_c_js.js:90 3
ppe_c_js.js:85 2

如何顺序执行代码?

谢谢!

最佳答案

您可以使 jquery post 同步。但这是一个不好的做法。因此,您的浏览器在操作过程中将处于卡住状态。

$.ajax({
type: 'POST',
url: url,
data: data,
success: success,
dataType: dataType,
async:false
});

关于javascript - $.post() 之后的代码在 post-request 完成之前执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54567722/

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