2012-07-24 72 views
2

我在回調函數$.post()中有fetch()fetch()從後端抓取數據並更新集合,但是當它運行successerror回調時,沒有任何反應!我在其回調中放置了console.log() s,並且它們從未出現在Javascript控制檯中。fetch()未調用其成功和錯誤回調函數(backbone.js)

任何想法發生了什麼?

在視圖的方法

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

successerror應該是options對象,你傳遞給fetch的屬性,你不必爲它們創建單獨的對象:

self.setList.fetch({ 
    data: {...}, 
    processData: true, 
    success: function(){...}, 
    error: function(){...} 
}) 
相關問題