1

我想将 AJAX 处理程序中的数据返回到全局变量中。我已经尝试将呼叫设为非 asyc。我遇到的困难是当我创建一个全局变量并引用该全局变量时,该值在 Ajax 请求之外变得未定义。我什至尝试使用我的成功回调调用一个函数,但没有任何运气。这是目前的样子。我使调用与上一个正在解决的问题同步jQuery ajax 成功回调函数定义

config();
function config()
{
    var dataBool;
    var db_test;
    $.ajax({asyc: false,
            url: 'config.php',
            dataType: "text",
            data:{db_test:1},
            type: "POST",
            success: dataStuff
    });
    function dataStuff(data)
    {
        dataBool = data;
    }

}
4

1 回答 1

2

如果您希望 dataBool 成为全局变量...它需要是全局变量,而不是局部变量

var dataBool;
config();
function config()
{
    var db_test;
    $.ajax({url: 'config.php',
            dataType: "text",
            data:{db_test:1},
            type: "POST",
            success: dataStuff
    });
    function dataStuff(data)
    {
        dataBool = data;
    }

}

asyc: false是不必要的并且拼写错误。参数是async:false, 所以这个选项没有效果,而且你也不需要它。

于 2013-09-30T01:16:49.307 回答