Javascript jquery中的Access类变量

Javascript jquery中的Access类变量,javascript,jquery,ajax,class,Javascript,Jquery,Ajax,Class,我的html中有一个select,希望在页面加载时通过ajax添加选项。选项值在我的DB中,我通过调用ajax获得它们。为此,我正在用javascript编写一个类,但在它运行时我无法获取数据。请看一看: ---Main.js--- 那么我有以下几点: $(document).ready(function() { var loader = new Loader(); loader.loadClients(); alert(loader._clients); //

我的html中有一个select,希望在页面加载时通过ajax添加选项。选项值在我的DB中,我通过调用ajax获得它们。为此,我正在用javascript编写一个类,但在它运行时我无法获取数据。请看一看:

---Main.js---

那么我有以下几点:

$(document).ready(function() {
    var loader = new Loader();
    loader.loadClients();
    alert(loader._clients);

    //Here I want to add my options to the select
});
我的警报总是返回null,我不明白为什么。我需要将数据保存在类中,以便随时访问它们


你能给我指个正确的方向让我的东西都能用吗?谢谢您的回答。

我认为您需要在“成功”回调中执行所有动态加载,因为它是异步加载的。

Loader.prototype={//v---callback参数
Loader.prototype = { //     v---callback parameter
    loadClients: function(callback) {
        $.ajax({
            url: "my/php/",
            context: this, // <---set success context
            type: "POST",
            data: {...},
            success: callback // <---pass callback
        });
    },

    getCode: function() {...}
};

$(document).ready(function() {
    var loader = new Loader();
                      //  v---pass callback
    loader.loadClients(function(response) {
        this._clients = response;
        alert(this._clients);
        //Here I want to add my options to the select
    });

});
LoadClient:函数(回调){ $.ajax({ url:“my/php/”,
上下文:这,//您需要在成功回调中执行,因为它是异步的:

Loader.prototype = {

    var context = this;

    loadClients: function() {
        $.ajax({
            url: "my/php/",
            type: "POST",
            data: {...},
            success: function(response) {
                context._clients = response;
                alert(loader._clients);

               //Here I want to add my options to the select
            }
        });
    },

    getCode: function() {...}
};

$(document).ready(function() {
    var loader = new Loader();
    loader.loadClients();
});
Loader.prototype = {

    var context = this;

    loadClients: function() {
        $.ajax({
            url: "my/php/",
            type: "POST",
            data: {...},
            success: function(response) {
                context._clients = response;
                alert(loader._clients);

               //Here I want to add my options to the select
            }
        });
    },

    getCode: function() {...}
};

$(document).ready(function() {
    var loader = new Loader();
    loader.loadClients();
});