2015-11-02 154 views
0

我得到驗證我的解析雲code.Here「帖子ID」失敗的錯誤是一個指針後class.Here是我的代碼 -驗證失敗錯誤parse.com

Parse.Cloud.beforeSave("likes",function(request,response){ 
    var posts=Parse.Object.extend("posts"); 
    var query=new Parse.Query(posts); 
    query.include("postAuthor"); 
    query.equalTo("objectId",request.object.get("postId").get("objectId")); 
    query.find({ 
     success:function(results){ 
      if(results.length==0){ 
       response.error(); 
      }else{response.success();} 

     }, 
     error:function(error){ 
      response.error(error); 
     } 
    }); 
}); 

另外,如果我修改equalTo方法類似

query.equalTo("objectId",request.object.get("postId")); 

錯誤消失,但結果數組中的成功回調返回的長度== 0,則表示沒有對象,即使它存在於數據browser.Not知道這是一個被檢索錯誤或我做錯了什麼。請幫助。

+0

你需要做的第一件事是檢查request.object.get(「postId」)是否存在。當你在'likes'類中保存任何記錄時,你是否總是設置'postId'?如果不是,那麼在你的請求對象中不會有'postId',你的代碼將無法工作。 –

回答

0

我想通了problem.The問題是這個LINE-

query.equalTo("objectId",request.object.get("postId").get("objectId")); 

甚至

query.equalTo("objectId",request.object.get("postId")); 

失敗,因爲我沒有指定任何對象ID爲它比較和傳遞一個JSON改爲

query.equalTo("objectId",request.object.get("postId").id); 

爲我解決了這個問題。