【发布时间】:2013-09-13 17:18:41
【问题描述】:
这似乎是一个可笑的微不足道的问题,但我无法解决。
我有这个功能。 var q 被分配给一个字符串数组。 alert(q)函数调用时成功打印整个数组。
function initQuestions() {
$.post("quiz.php", { 'func': 'load' }, function(data) {
var q = data.split(".\n");
alert(q);
return q;
});
}
但是,当我尝试使用该函数时(如下图所示的 2 种方式),我被告知该数组未定义。为什么会这样?
var questions;
$(function() {
//This doesn't work
questions = initQuestions();
alert(questions);
//Neither does this
alert(initQuestions());
});
经过进一步研究,我向initQuestions() 添加了回调,但结果相同。
【问题讨论】:
-
不要尝试提醒它,而是使用
console.log() -
检查浏览器中的错误日志。你有它是有原因的。并使用 console.log 而不是 alert。
-
欢迎来到异步 Web 编程的精彩世界
-
您正在读取设置 var q 之前的值。
-
从外观上看是范围问题
标签: javascript ajax