Как получить доступ к переменной, установленной в вызове Ajax - PullRequest
1 голос
/ 28 апреля 2011

Я пытаюсь установить переменную внутри функции, которая вызывает некоторый код PHP через Ajax.Проблема в том, что переменная недоступна извне функции, так сказать.

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 , " alert 1 " даетмне правильное значение, но вне этого, как " alert 2 " в моем примере, переменная остается пустой.Я предполагаю, что это как-то связано с областью действия и / или с асинхронным содержимым AJAX, но я не мог понять, как вместо этого хранить мои данные AJAX, чтобы впоследствии я мог получить к ним доступ извне.Может быть, кто-то может помочь мне в этом?

1 Ответ

0 голосов
/ 28 апреля 2011

Вы можете передать свои восстановленные данные в качестве параметра вашей функции.

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
}
...