fetch()没有调用其Success和Error回调函数(backbone.js)

时间:2012-07-24 12:57:26

标签: javascript jquery backbone.js underscore.js

我在fetch()的回调函数中有一个$.post()fetch()从后端获取数据并更新集合,但是当它运行successerror回调时,没有任何反应!我在其回调中放置了console.log(),它们从未出现在Javascript控制台中。

知道发生了什么事吗?

视图中的方法

create_set: function() {
    var self = this;

    // Post data to server
    $.post('api/create_set', {
        user_id: $('#user_id').val(),
        post_id: this.post_id,
        set_name: $('#new_set_name').val()
    }, function() {

        // Update list of Sets
        self.setList.fetch({
            data: {
                user_id: $('#user_id').val(),
                post_id: this.post_id
            },
            processData: true
        }, {
            success: function() {
                // Highlight the first class in list
                $(self.setListView.el).children('div:first').addClass('active');
                console.log('success'); // DOESNT RUN!
            }
        }, {
            error: function() {
                console.log('error');  // DOESNT RUN!
            }
        });

        console.log('hello');  // RUNS!

    });
}

1 个答案:

答案 0 :(得分:4)

successerror应该是您传递给options的{​​{1}}对象的属性,您不必为它们创建单独的对象:

fetch