如何将AJAX响应存储到类属性?

时间:2014-04-16 02:34:14

标签: javascript jquery ajax

我正在创建一个类似于模型的类,在初始化时会触发一个AJAX请求。我想将该请求的响应存储为新对象的属性,以便我可以使用它返回的数据。问题是,'这个' promise(.done)中的是XHR对象,而不是对象。

我怎么想这个错误?

function TweetData() {

        this.tweetList = [];

        var data = $.getJSON('data/tweets.json'); 

        data.done(function(data){

            for (var i = 0; i < data.length; i++) {
                var obj = data[i];
                this.tweetList.push(obj.text);

            }

        });

    } //end constructor

1 个答案:

答案 0 :(得分:2)

function TweetData() {

    this.tweetList = [];
    var tweet=this;

    var data = $.getJSON('data/tweets.json'); 

    data.done(function(data){

        for (var i = 0; i < data.length; i++) {
            var obj = data[i];
            // 'tweet' is created outside of the callback
            // and is then passed into the data.done promise
            tweet.tweetList.push(obj.text);
        }

    });

} //end constructor