我正在尝试通过Ajax调用一些PHP代码的函数中设置一个变量.问题在于,不能从函数外部访问变量.
var startPageSelected = '';
function getSavedStartPage() {
$.post(webroot + 'home/get_saved_startpage/',
function(data){
startPageSelected = $.parseJSON(data);
alert(startPageSelected); //alert 1
});
}
function something() {
alert(startPageSelected); //alert 2
}
因此,当我调用getSavedStartPage时,“警报1”为我提供了正确的值,但是在此示例之外,例如“警报2”,变量仍为空.我想这与范围和/或异步ajax东西有关,但是我想不出如何存储我的ajax数据,以便以后可以从外部访问它.也许有人可以帮我吗?
解决方法:
您可以将重新记录的数据作为参数传递给函数.
function getSavedStartPage() {
$.post(webroot + 'home/get_saved_startpage/',
function(data){
startPageSelected = $.parseJSON(data);
alert(startPageSelected); //alert 1
something(startPageSelected);
});
}
function something(data) {
alert(data); //alert 2
}