尝试使用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
提供的示例代码有何不同答案 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;
}