Javascript ';POST 400错误请求';更新parse.com表时出错

Javascript ';POST 400错误请求';更新parse.com表时出错,javascript,parse-platform,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", activeArtwo

我在尝试使用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();
    }
});
请帮忙


我看不出这与parse提供的示例代码有什么不同。您引用的示例代码在设置save()方法之前创建了它的所有参数。这是你错过的一步;您需要在gallery实例上创建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错误的地方。

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

像这样:

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

我也有同样的问题,在意识到我发布的数据类型与我创建的列中指定的数据类型不同后,问题得到了解决。
在我的例子中,当我在类中创建列时指定了一个数组时,我试图保存一个对象。

你能在chrome调试器中查看返回400的实际http请求并将其包含在你的问题中吗?当然可以@bklimt。这里是:POST 400(错误请求)parse-1.0.0.min.js:1 b._ajaxparse-1.0.0.min.js:1 b._requestparse-1.0.0.min.js:1 c.extend.save parse-1.0.0.min.js:1 gallery.save.success fgcViewartwork.js:211 c.extend.save.p.success parse-1.0.0.min.js:1 b._ajax.g.onreadystatechange忽略以下事实“/在API请求中,我的代码中的库名称与此处不匹配。我已经在一段时间前解决了这个问题——这不是问题所在,我也有同样的问题。400(错误请求)有时有效,有时失败。如果这很愚蠢,请原谅,但是库对象的参数是否在请求之前初始化?也许你应该放一些类似gallery.set(“activeArtworks”,0)的东西;在save方法之前。