在parse.com上保存骨干模型

时间:2013-08-08 20:11:14

标签: javascript backbone.js

我可以在parse.com上保存模型:

var persona=new Person({username:"filiberto",password:"filiberto"});

persona.save( {
success: function (persona) {
console.log("modello salvato nel db");
console.log(persona.url());

}
});

但如果我首先获取一个集合,获取一个指定的模型并通过save方法更新不起作用,错误是:PUT https://api.parse.com/1/classes/_User/V742NGMTjA 400(错误请求)

Models.utenti = new Usercollection();
Models.utenti.fetch({async:false});

var current_user=Models.utenti.get(Parse.User.current().id);  
current_user.set_last_activity();
current_user.save();<----PUT https://api.parse.com/1/classes/_User/V742NGMTjA 400 (Bad   
Request) 

我已经尝试更新parse.com上的另一个类并且正常工作。我无法更新的课程是用户,也许是安全原因?

1 个答案:

答案 0 :(得分:1)

我对Parse不熟悉,但根据他们的API(https://www.parse.com/docs/rest#users),用户请求应该是POST而不是PUT。 Backbone使用PUT来更新/同步模型,而POST则用于创建新模型。问题可能是Backbone假设您的模型已经保存并使用PUT方法进行更新。

Parse有一个很好的教程,用Backbone(https://parse.com/tutorials/todo-app-with-javascript)演示用户API。您可能还会发现有关保存和更新Backbone模型的讨论很有帮助(Backbone model.save() is sending PUT instead of POST)。

更新:Parse似乎需要跨域资源共享(CORS)来修改现有用户的数据。实际上,这意味着在请求标头中添加其他信息。有关详细信息和实施详细信息,请参阅下面评论中的Parse博客文章。