2015-11-02 133 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); 

为我解决了这个问题。