Javascript 更改变量的值不起作用

Javascript 更改变量的值不起作用,javascript,jquery,variables,Javascript,Jquery,Variables,我一直试图在运行函数测试时改变全局变量的值,但它似乎不起作用,我也不知道为什么。我已经尝试在$document.ready jQuery代码之外声明变量,并且还尝试使用window.testvar,但没有成功。我在这里可能会遗漏什么,我将如何着手解决这个问题,以便AJAX成功函数更改testvar的值 您的console.log在ajax成功函数执行之前运行 您可以看到,ajax函数是一个异步函数,这意味着它超出了调用该函数的块序列。您是否有显示此行为的JSFIDLE? $(document).

我一直试图在运行函数测试时改变全局变量的值,但它似乎不起作用,我也不知道为什么。我已经尝试在$document.ready jQuery代码之外声明变量,并且还尝试使用window.testvar,但没有成功。我在这里可能会遗漏什么,我将如何着手解决这个问题,以便AJAX成功函数更改testvar的值


您的console.log在ajax成功函数执行之前运行


您可以看到,ajax函数是一个异步函数,这意味着它超出了调用该函数的块序列。

您是否有显示此行为的JSFIDLE?
$(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
};