gpt4 book ai didi

jquery - 将数据存储在来自 post jquery 的变量中

转载 作者:行者123 更新时间:2023-12-01 06:29:25 24 4
gpt4 key购买 nike

我有这个代码:

function someFunction(something1, something2) {

$.post("execute.php", { someData1: something1, someData2: something2 }, function(data) {

returnData = data;

});

return returnData;

}

Post 函数返回 false 或 true,我希望此 someFunction 通过返回值进一步发送此信息,但它不起作用。我猜这个返回值在发布之前返回,因此未定义,但我不知道该怎么办。

最佳答案

ajax 调用是异步的,这意味着它“不妨碍”运行。该函数被执行并立即返回,并且 javascript 继续其快乐的方式,而 ajax 调用则“不妨碍”执行。

这就是为什么它返回未定义的原因,因为它不是。

要防止这种行为,您需要将其设置为“同步”。并且您需要在函数范围之外定义 returnData。

您可以通过设置来做到这一点

$.ajaxSetup({async:false});

然后调用$.post,

或者你可以这样做 $.ajax(... {async:false}...);

所以使用第一种方法:

function someFunction(something1, something2) {
$.ajaxSetup({async:false}); //execute synchronously

var returnData = null; //define returnData outside the scope of the callback function

$.post("execute.php", { someData1: something1, someData2: something2 }, function(data) {

returnData = data;

});

$.ajaxSetup({async:true}); //return to default setting

return returnData;

}

关于jquery - 将数据存储在来自 post jquery 的变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9269296/

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