更新parse.com表时出现“POST 400错误请求”错误

时间:2012-10-28 09:49:34

标签: javascript parse-platform

尝试使用JS SDK更新parse.com上的表时,我收到了“POST 400错误请求”错误。

var Gallery = Parse.Object.extend("Gallery");
var gallery = new Gallery();
var activeArtworks = 0;
gallery.save(null, {
    success: function(gallery) {
          gallery.set("activeArtworks", activeArtworks);
          gallery.save();
    }
});

请帮忙!

我无法看到这与解析here

提供的示例代码有何不同

2 个答案:

答案 0 :(得分:4)

您引用的示例代码在设置save()方法之前会创建其所有参数。这是你缺少的一步;您需要在库实例上创建activeArtworks参数。您的更新失败,因为您正在尝试更新从未创建过的属性。

我希望这段代码可以正常工作,但是我没有测试它,因为parse.com要求你设置一个帐户来运行任何代码,这很愚蠢,而且我不想创建一个:

var Gallery = Parse.Object.extend("Gallery");
var gallery = new Gallery();
var activeArtworks = 0;
gallery.activeArtworks = []; // or some more appropriate default if you have one.
gallery.save(null, {
    success: function(gallery) {
        gallery.set("activeArtworks", activeArtworks);
        gallery.save();
    }
});

可能还值得检查400错误的标题中是否有任何信息(浏览器中的调试控制台将在其“网络”选项卡中显示这些信息)。我希望Parse能为您提供一些帮助您调试问题的信息,而这是唯一适合HTTP错误的地方。

答案 1 :(得分:0)

如果您在Parse JS中使用了user.logIn(回调)函数,那么您的会话可能无效。请检查您的回调函数错误代码,如果error.code==209(会话令牌无效),请使用Parse.User.logOut()并重新登录。

像这样:

if (error.code == 209) {    
    Parse.User.logOut();
    user.logIn(loginCallback);
    return;
}