Php 如何将Ajax Success函数变量调用到其他函数中
如何将Ajax成功函数变量调用到其他函数中,请查看代码Php 如何将Ajax Success函数变量调用到其他函数中,php,jquery,html,Php,Jquery,Html,如何将Ajax成功函数变量调用到其他函数中,请查看代码 var global_data; $.ajax({ type: "post", url: "login.php", success: function (result) { console.log(result); global_data = result; tick(global_data);
var global_data;
$.ajax({
type: "post",
url: "login.php",
success: function (result) {
console.log(result);
global_data = result;
tick(global_data);
}
});
function tick(global_data) {
$.toast({
text: '30 days club',
icon: '',
loader: false,
loaderBg: '#9EC600',
allowToastClose: true,
showHideTransition: 'fade'
})
initMap();
console.log ("Jerry"+global_data);
setTimeout(tick, random(20, 24) * 1000);
}
这是代码,请看一看,在控制台中对函数tick(全局_数据)进行所有更改后,仍然没有定义
success:function(result){tick(result);
及以后的function tick(global_data){
AJAX调用是异步的,因此您需要正确使用回调模式。请参阅我标记的重复项,以了解如何执行。您还应该删除async:false
,因为这是非常糟糕的做法。传递函数参数@mplungjan中的值您的意思是说我必须使用函数tick(全局_数据)在success:function(result)内部。您有setTimeout(tick,random(20,24)*1000);
-它没有传递全局数据。您似乎毕竟需要全局数据作为全局变量存在。因此Nikos毕竟没有错。您现在需要从函数调用中删除它:success:function(result){console.log(result);global_data=result;tick();}
然后使用函数tick(){if(global_data){…process…}设置超时(tick,random(20,24)*1000);}