更改变量的值不起作用

时间:2014-08-19 21:58:42

标签: javascript jquery variables

我一直试图让我的全局变量值在运行函数test()时改变,但它似乎无法工作,我不明白为什么。我已尝试在$(document).ready jQuery代码之外声明变量,并且我也尝试使用window.testvar无效。我可以在这里找到什么,以及如何解决这个问题,以便AJAX success函数更改testvar的值?

$(document).ready(function() {
    testvar = '';

    function test() {
        $.ajax({
            type: 'POST',
            url: 'test.php',
            data: { sessionUsername: $sessionUsername },
            dataType: 'json',
            success: function (data) {
                testvar = '1';
                console.log(testvar);
            }
        })
    }

    test(); // logs '1'

    console.log(testvar); // logs nothing
};

1 个答案:

答案 0 :(得分:2)

你的console.log在执行ajax succes函数之前运行..

你看,ajax函数是一个异步函数,这意味着它用完了你调用函数的块序列。

相关问题