Javascript 主干JS保存功能

Javascript 主干JS保存功能,javascript,ruby-on-rails,json,backbone.js,Javascript,Ruby On Rails,Json,Backbone.js,我已经为我的项目编写了一个rails后端,当您保存或创建一个新记录时,状态200和保存的帖子的json表示形式 当我在bacbone中执行以下操作时: modelObject = new App.Models.Post(); modelObject.set({title: 'asdasdas', content: 'asdadasdasdasdasd'}); if (modelObject.isValid()){ modelObject.save().then( .

我已经为我的项目编写了一个rails后端,当您保存或创建一个新记录时,状态200和保存的帖子的json表示形式

当我在bacbone中执行以下操作时:

   modelObject = new App.Models.Post();
   modelObject.set({title: 'asdasdas', content: 'asdadasdasdasdasd'});

   if (modelObject.isValid()){
     modelObject.save().then( ... )
   }
如何获取返回的post对象?(假设职位成功)

在rails方面,当我执行
@post.save
时,我也会在创建操作中成功保存后渲染
json:@post,status:200
,因此有一个json对象返回,我只是不知道如何在主干端访问它。

modelObject.save()调用将返回一个promise对象。您应该链接一个.done()调用,并将其传递到函数中,如下所示:

modelObject.save().done(function(e) {
  // handle your response here
});
modelObject.save().done(function(e) {
  // handle your response here
}).fail(function(e) {
  // handle failure here
});
也可以使用.fail()函数以相同的方式处理故障。像这样把它们连在一起:

modelObject.save().done(function(e) {
  // handle your response here
});
modelObject.save().done(function(e) {
  // handle your response here
}).fail(function(e) {
  // handle failure here
});
下面是编写相同代码的另一种方法:

var promise = modelObject.save();
promise.done(function(e) {
  // handle your response here
});
promise.fail(function(e) {
  // handle failure here
});
还有一个.always(),您可以将其链接为始终被调用:

var promise = modelObject.save();
promise.done(function(e) {
  // handle your response here
});
promise.fail(function(e) {
  // handle failure here
});
promise.always(function(e) {
  // always call this on success or failure
});
下面介绍调用
save()
函数后如何从服务器获得响应的几种方法。 例如:

您需要指定
error
success
回调:

var model = new App.Models.Post();
model.set({title: 'some title', content: 'some content'});
var options = {
    success: function(model, response){
        console.log('success handler');
        model.set({id: response.id});
    },
    error: function(model, xhr){
        console.log('error handler');
    }
};
指定
wait
选项以在设置模型属性之前等待服务器的响应:

options.wait = true;
需要使用指定选项调用
save
函数:

if (model.isValid()) {
    model.save({}, options);
}  

这并没有真正回答我的问题:如何获得通过成功保存返回的post json。这有助于我更好地写这篇文章,但不能帮助我理解“这就是你如何得到返回的post-json…”部分。