2012-09-20 32 views
0

我使用Backbone.js和Parse來實現持久性。我試圖在Backbone事件觸發時保存一個解析對象,但它不起作用。這裏是我的代碼(編輯去除不必要的東西):從Backbone事件中保存一個Parse對象

Parse.initialize("abc123", "omgwtf"); 

var ListsView = Parse.View.extend({ 
    events: { 
     "submit form": "newList" 
    }, 
    newList: function() {  
     var GameScore = Parse.Object.extend("GameScore"); 
     var gameScore = new GameScore(); 

     gameScore.set("score", 2222); 
     gameScore.set("playerName", "Mike Hunt"); 
     gameScore.set("cheatMode", true); 

     gameScore.save(null, { 
      success: function(gameScore) { 
       alert("success"); 
      }, 
      error: function(gameScore, error) { 
       alert("error: " + error.message); 
      } 
     }); 
    } 

}); 

我的錯誤警報顯示,但錯誤信息是一個空字符串。當我的保存代碼與Parse.initialize方法處於相同的頂級範圍時,Parse對象可以很好地保存。我正在學習Javascript,所以關於爲什麼這段代碼不工作的背景很棒。

+0

不知道是否這是問題,但你有沒有嘗試把Parse.Object.extend(「GameScore」);新列表方法之外?然後在創建一個ListView的新實例時進行設置。 EX:lists = new ListsView; lists.gameScoreObject = Parse.Object.extend(「GameScore」);最後,在你的newList方法中,var gameScore = new this.gameScoreObject。只是檢查。不知道它是否會工作;) – theintersect

+0

不,沒有幫助。 – kubi

+0

78%還不錯。如果我從未收到滿意的答覆,我不會接受答案。 – kubi

回答

0

基於您的代碼很難精確定位的錯誤,但這裏有一些想法:

  1. 看一看該請求的響應:在Chrome中,View->Developer->Developer Tools,點擊網絡選項卡上,並嘗試提交你的表格。你會看到一個新的請求條目出現(可能是紅色的,因爲你的失敗)。點擊它並檢查響應,看看你是否有一個有用的錯誤。
  2. 檢查您的數據瀏覽器GameScore表中的設置:點擊More->Permissions,並確保您有Create設置爲Public
相關問題