2

fetch()コールバック関数に があり$.post()ます。はfetch()バックエンドからデータを取得し、コレクションを正常に更新しますが、そのsuccessまたはerrorコールバックを実行するときは何も起こりません! 両方のコールバックに sを配置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!

    });
}
4

1 に答える 1

4

successに渡すオブジェクトerrorのプロパティである必要があります。それらに対して個別のオブジェクトを作成する必要はありません。optionsfetch

self.setList.fetch({
  data: {...},
  processData: true,
  success: function(){...},
  error: function(){...}
})
于 2012-07-24T13:02:55.347 に答える