无法通过REST API更新Parse对象

时间:2016-01-24 08:11:51

标签: javascript rest parse-platform

是的,所以我只是想通过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不匹配等。

3 个答案:

答案 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(数据)并只传递数据