2015-11-28 27 views
1

查找我的代碼,其中工作非常好。但只有我面臨的問題是,保存事件不適合我。也可以在圖片中看到我的日誌文件。在每種方法中,我嘗試了成功和錯誤的功能,它可以正常工作,如圖所示。我試過這個代碼很多,但仍然...它不適合我。 它總是顯示錯誤消息。爲什麼保存事件不適用於雲代碼?

Code : 
Parse.Cloud.afterSave("HouserDetailed", function(request, response) 
{ 
    var obj = request.object.id; 
    //console.log(obj); 
// code ! 
    var houserdetailed = new Parse.Object("HouserDetailed"); 
    var query = new Parse.Query("HouserDetailed"); 
    query.equalTo("objectId", obj); 
    query.first({ 
    success: function(results) { 
    //alert("updates objectId " +request.object.id + " " + "input" + " "+ request.object.bet_title); 
    var bet_title = results.get("bet_title"); 
    var match_id = results.get("match_id"); 
    var level_coin = results.get("level_coin"); 
    if(bet_title !== "false") 
    { 
    console.log("bet_title :- "+bet_title+", match_id:- "+match_id+", level_coin:- "+level_coin); 
    // nested query 
    var better = new Parse.Object("Better"); 
    var query1 = new Parse.Query("Better"); 
    query1.equalTo("match_id", match_id); 
    query1.first({ 
     success: function(result){ 
      var bet_title_better = result.get("bet_title"); 
      var user_id = result.get("user_id"); 
      var bet_OnNoOfticket = result.get("bet_OnNoOfticket"); 
      var bet_price = result.get("bet_price"); 
      var money_got = bet_OnNoOfticket * bet_price; 
      console.log("bet_title_better :-"+bet_title_better); 
      if(bet_title !== bet_title_better) 
      { 
       console.log("Condition does not match!"); 
      } 
      else 
      { 
       console.log("Condition match!" + "money got :- "+money_got); 
       // checking for existing user in parse DB 
       var wallet = new Parse.Object("Wallet"); 
       var query2 = new Parse.Query("Wallet"); 
       query2.equalTo("user_id", user_id); 
       query2.first({ 
       success: function(result) 
       { 
        console.log("User found"); 
        var wallet_coins_number = result.get("wallet_coins_number"); 
        var objectId = result.get("objectId"); 
        total_amount = +wallet_coins_number + +money_got; 
        console.log("Total amount got :- " + total_amount); 
        // saving amount in wallet 
        var Wallet = Parse.Object.extend("Wallet"); 
        var wallet = new Wallet(); 
        wallet.set("user_id", user_id); 
        wallet.set("wallet_coins_number", total_amount); 
        wallet.save(null, { 
        success: function(wallet){ 
         console.log("amount saved in wallet!"); 
        }, 
        error: function(wallet) 
        { 
         console.log("amount not saved in wallet!"); 
        } 

        }); 

       }, 
       error: function(error) 
       { 
        console.log("User not found"); 
       } 
       }); 

      } 

    },error: function(error) 
    { 

    } 
    }); 
    } 
    // nested query end 


    }, 
    error: function(error) { 
    console.log("Error: " + error.code + " " + error.message); 
    } 
}); 

// code ! 
});][1]][1] 

回答

1

我沒有看到任何日誌,可能它會告訴你什麼是錯的。但是你試圖用髒objectId保存現有的ParseObject,這是個不好的主意。您不允許更改現有對象的objectId。嘗試從代碼中刪除wallet.set(「objectId」,objectId)。

您不應該使用result.get(「objectId」),而是使用result.id。

+0

是的,我已經刪除它。但仍然沒有保存數據。 –

+0

改變你的錯誤爲 錯誤:函數(錢包,錯誤) { console.log(「金額沒有保存在錢包裏!」error:「+ error.message); }' 這裏寫的是什麼,它告訴你 –

+0

錯誤:無效的類型關鍵wallet_coins_number,期望的字符串,但得到了數 –

相關問題