我在使用 ajax 填充和访问全局变量时遇到问题。我有以下代码(精简了一点):
var answers;
$(document).ready(function() {
showResults();
console.log(answers);
}
function showResults(){
$.ajax({
url: "/wp-content/themes/hoekiesikeenschool/question-storage.php",
data: { action: "get_results" },
type: "post",
dataType: "json"
}).done(function (data) {
answers = data.questionary;
return answers;
});
}
我的问题如下:当我登录answers
该done
函数时,它给了我一个很好的数组。这意味着array
变量已被填充。但是当我从 记录它时$(document).ready
,它返回一个空变量。这可能是因为 AJAX 调用是异步的,并且在填充变量之前执行了日志。
但是,我需要在另一个页面上使用该变量,因此我需要从$(document).ready
...访问它关于如何检查变量是否已填充的任何想法?或者什么时候showResults()
完成?在此先感谢您的帮助!
- 编辑 -
感谢您的回复!但我仍然在努力解决以下问题:据我所知,我可以从 ajax 回调中调用另一个函数,并将数据传递给它。问题是,在调用之后我必须对它做很多不同的事情,而我现在可以让它工作的唯一方法是在 ajax 回调中调用一个函数,然后从那个回调中调用另一个函数,等等。 ..
所以我最终在 中获得了智慧showResults();
,doc.ready
然后执行了很多“链接”在一起的功能。无论如何我可以将数据返回到变量中,以便在其他地方使用?我希望我已经说清楚了,英语不是我的母语,对不起。