是的,所以我只是想通过REST API更新我的对象。我的请求成功,我得到一个包含最新更新时间戳的200响应,但对象的列值没有改变。
我的Movies
类有一个title
和一个genre
列,该类的权限设置为所有行的公共读写。
这是一些代码
var data = {title:'The Revenant'};
qwest.put('https://api.parse.com/1/classes/Movies/myObjectId', JSON.stringify(data))
.then(function(xhr, response) {
console.log(response);
})
.catch(function(xhr, response, e) {
console.log(e);
});
我回复的回应?
{"updatedAt":"2016-01-24T07:59:54.977Z"}
因此请求成功但如果我再次GET
该对象或检查Parse管理页面,则该对象未更改。是什么给了什么?
修改
仅供参考,如果我使用Javascript SDK,我可以更新模型。
var Movies = Parse.Object.extend("Movies");
var query = new Parse.Query(Movies);
query.get(myObjectId, {
success: function (movie) {
movie.set("title", data.title);
movie.save();
},
error: function (object, error) {
console.log(error);
}
});
这会更新模型。对于我的特定用例,我真的更喜欢使用REST API而不是SDK,但我想这意味着它不是权限问题或ID不匹配等。
答案 0 :(得分:3)
代码段
qwest.put('https://api.parse.com/1/classes/Movies/Dh7zjiP9KW', data, {dataType:"json",headers:{'x-parse-application-id':'XXX','X-Parse-REST- API-Key':'XXX'}})
.then(function(xhr, response) {
console.log(response);
})
.catch(function(xhr, response, e) {
console.log(e);
});
答案 1 :(得分:0)
您获得的响应表明该对象已成功更新。仔细检查您是否正在查看正确的对象,并且“updatedAt”字段与您之前看到的响应相匹配。
如果使用相同的“qwest”客户端和https://api.parse.com/1/classes/Movies/myObjectId
资源URL(具有正确的对象ID)立即获取对象会发生什么?
答案 2 :(得分:0)
尝试删除JSON.stringify(数据)并只传递数据