解析查询错误 - 400:数据插入时请求错误

时间:2015-12-10 08:25:23

标签: javascript parse-platform

我正在尝试在解析数据库上实现数据插入。但是我一直收到400 (Bad Request)错误。无法弄清楚可能是什么问题。以下是代码:

var newsNo = localStorage.getItem("NewsNo");
newsFeedQuery.equalTo("NewsNo",Number(newsNo));
newsFeedQuery.first({
 success : function(results)
 {
     console.log("RESUTS ID : "+results.id);
     nws = results.id; 
     console.log("OBJECT ID : "+nws);

     //Updating the likes table
     var Likes = Parse.Object.extend("Likes");
     var likes = new Likes();

     console.log("Setting in like table News ID : "+nws);
     console.log("Setting in User Id : "+Parse.User.current().id);

     likes.set("NewsLikedId", nws);
     likes.set("UserId", Parse.User.current());
     likes.save({
             success : function()
             {
                 console.log("Successfully updated Like table");
             }, error : function(error)
             {
                 console.log("Error in like table : "+error.message);
             }
         });
     //Updating the likes table

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

此行正在打印:console.log("Error in like table : "+error.message);

控制台结果:

POST https://api.parse.com/1/classes/Likes 400 (Bad Request)
Error in like table : undefined

请注意:列"UserId""NewsLikedId"都是指针类型,指向User和我自定义的'NewsFeed'表。所以我只需要设置指针数据。在我的代码中的这些行

console.log("Setting in like table News ID : "+nws);
console.log("Setting in User Id : "+Parse.User.current().id);

我得到了所需的输出。只需将其设置为Likes表。

1 个答案:

答案 0 :(得分:0)

为了更准确地回答,我需要看看你的“喜欢”表。但我认为错误是这里存在某种类型的错配:

likes.set("UserId", Parse.User.current());

看起来您尝试设置指向当前用户对象的指针。名称“UserId”表示您实际上想要保存ID而不是指针。 替换为:

likes.set("UserId", Parse.User.current().id);

再试一次。

希望这会有所帮助。

编辑:

如果NewsLikedID也是类型指针,那么你应该考虑将“results”对象写入nws而不是results.id:

nws = results.id; //wrong
nws = results; //correct

请尝试并报告。