1

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を呼び出すと、「alert 1」は正しい値を返しますが、この例では「alert 2」のように、変数は空のままです。スコープや非同期 ajax と関係があると思いますが、後で外部からアクセスできるように、代わりに ajax データを保存する方法がわかりませんでした。多分誰かがそれについて私を助けることができますか?

4

1 に答える 1

0

返されたデータをパラメーターとして関数に渡すことができます。

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
}
于 2011-04-28T15:17:49.927 に答える