使用此方法获取值并将其设置为var。
var interval;
// Get interval from DB constants table
$.getJSON("/get_slideshow_interval",
function(data){
interval = data;
}
);
console.log(interval);
如果我将该控制台日志放入函数(数据)中,那么它可以正常工作,但是当它退出getJSON调用时它将返回undefined ...
我如何在外面使用它?
答案 0 :(得分:3)
jax调用是异步;试试这个:
var interval;
// Get interval from DB constants table
$.getJSON("/get_slideshow_interval",
function(data){
interval = data;
console.log(interval);
}
);
答案 1 :(得分:0)
这是因为$.getJSON
的异步行为。在您的代码中,即使未收到数据,console.log(interval)
也会执行。但是如果你在getJSON函数里面的function(data){}
内写了任何东西,它只会在完成调用后执行。
答案 2 :(得分:0)
您正在进行异步调用。这意味着当您尝试记录间隔值时,它实际上尚未设置。所以你必须等到可以访问该变量。您最好的方法是将代码放在回调中,就像您一样。
你可能希望它看起来像这样:
// Get interval from DB constants table
$.getJSON("/get_slideshow_interval",
function(interval){
startSlideShow(interval); // Start the slideshow here.
}
);