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