0

我一直在經歷托馬斯·戴維斯的https://github.com/thomasdavis/backbonetutorials/tree/gh-pages/videos/beginnerBackbone.js的Backbonetutorials.com無法CONSOLE.LOG serializeObject

他的視頻可以在這裏找到: https://www.youtube.com/watch?v=FZSjvWtUxYk

之間31-44分鐘他解釋如何發佈並推送到服務器。他通過不同的步驟來測試java/backbone代碼是否正在使用alert和console.log。

我花了一段時間試圖找出我在我的代碼有誤,將不執行警報或執行console.log

我已經重新編寫的代碼到這一點,現在的兩倍,並有能夠從視頻中的以前的點創建console.log。但是,現在我被卡住了,無法完成這個嘖嘖。

這裏是的console.log被用於測試代碼(35分鐘)

var EditUser = Backbone.View.extend ({ 
    el: '.page', 
    render: function() { 
     var template = _.template($('#edit-user-template').html(), {}); 
     this.$el.html(template); 
    }, 
    events: { 
     'submit .edit-user-form': 'saveUser' 
    }, 
    saveUser: function (ev) { 
     var userDetails = $(ev.currentTarget).serializeObject(); 
     var user = new User(); 
     user.save(userDetails, { 
      success: function (user) { 
       console.log(userDetails); 
      } 
     }) 
     return false; 
    } 
}); 
var editUser = new EditUser(); 

在這裏的是,我們使用的代碼(44分鐘):

var EditUser = Backbone.View.extend ({ 
    el: '.page', 
    render: function() { 
     var template = _.template($('#edit-user-template').html(), {}); 
     this.$el.html(template); 
    }, 
    events: { 
     'submit .edit-user-form': 'saveUser' 
    }, 
    saveUser: function (ev) { 
     var userDetails = $(ev.currentTarget).serializeObject(); 
     var user = new User(); 
     user.save(userDetails, { 
      success: function (user) { 
       router.navigate('', {trigger: true}); 
      } 
     }) 
     return false; 
    } 
}); 
var editUser = new EditUser(); 

他代碼,在gitHub已經完成,並有一些變化,那麼視頻中的內容就有所變化。不過,我認爲我的問題只是在我創建的.js代碼中。

我完整的代碼可以在這裏找到: https://github.com/Gregory-Phillips/backbonetutorials/blob/gh-pages/videoIndex

任何反饋將有助於 和道具,以托馬斯花了一些時間來創建這個步行通過。

回答

0

你的代碼中有兩個錯誤。

首先,這裏是你真正使用的是什麼:

saveUser: function (ev) { 
    var userDetails = $(ev.currentTarget).serializeObject(); 
    var user = new User(); 
    user.save(userDetails, { 
     success: function (user) { 
      success: function (user) { // you must delete this line 
       router.navigate('', {trigger: true}); 
     } 
    }) 
    return false; 
} 

第二個錯誤是在您的模板:

<script type="text/template" id="edit-user-template"> 
    <form class="edit-user-form"> 
     <legend>Create User</legend> 
     <label>First Name</label> 
      <input type="text" name="firstname" /> 
     <label>Last Name</label> 
      <input type="text" name="lastname" /> 
     <label>Age</label> 
      <input type="text" name="age" /> 
    </form> <!-- // remove this line --> 
    <hr /> 
    <button type="submit" class="btn">Create</button> 
    // </form> : add it here 
</script> 
+0

所以非常感謝您審閱我的代碼你倆@mu太短日達BENHAMMANE。我一直盯着代碼太久,需要第二雙眼睛。
我想是個簡單的錯誤。
我想知道爲什麼我看不到使用開發工具,沒有網絡活動或任何事情。它有助於在dang按鈕之後放置結束標記。而.js中的重複來自編輯出我以前的文件中的console.log文件。
感謝你們這樣的快速回答。我相信我會很快回來。 –

+1

所以如果我的回答對你有幫助,請考慮接受:) –