Javascript 如何在创建新模型时获取id
在myJavascript 如何在创建新模型时获取id,javascript,backbone.js,marionette,Javascript,Backbone.js,Marionette,在myMarionette.CompositeView中,可以创建一个向服务器(1)发出put请求的新模型。 put请求正常,但当我将新模型添加到集合中时,新模型将丢失服务器创建的id。 我应该如何解决这个问题 应该 1) POST请求将id发送到客户端或 2) 我必须从客户那里再请求一次才能得到身份证 (一) 在传递给save()的选项中,添加wait:true。然后,模型的属性(包括id)将被设置为服务器为此请求返回的任何json对象。在传递给save()的选项中添加wait:true。然
Marionette.CompositeView
中,可以创建一个向服务器(1)发出put请求的新模型。put请求正常,但当我将新模型添加到集合中时,新模型将丢失服务器创建的id。
我应该如何解决这个问题 应该
1) POST请求将id发送到客户端或
2) 我必须从客户那里再请求一次才能得到身份证
(一)
在传递给save()的选项中,添加wait:true。然后,模型的属性(包括id)将被设置为服务器为此请求返回的任何json对象。在传递给save()的选项中添加wait:true。然后,模型的属性(包括id)将设置为服务器为此请求返回的任何json对象。当然,如@Robert said,您可以添加wait:true,以便在服务器发回模型(包括id)之前不会更新视图。当然,如@Robert said,您可以添加wait:true,以便在服务器发回您的模型(包括ID)之前不会更新视图。您的服务器需要使用JSON响应POST,JSON表示保存的模型,包括ID(或仅ID)。例如,返回
{“id”:“123”}
,主干网将为您更新模型。您的服务器需要用JSON响应POST,JSON表示保存的模型,包括id(或仅id)。例如,返回{“id”:“123”}
,主干将为您更新模型。我确实更新了我的问题,将选项设置为等待:true
。你能检查一下吗?谢谢不幸的是,当我在onSuccess函数中获得id时,id是未定义的。这应该是服务器问题吗?是的,服务器需要发送ID和您希望模型具有的任何其他值。我确实更新了我的问题,并添加了选项wait:true
。你能检查一下吗?谢谢不幸的是,当我在onSuccess函数中获得id时,id是未定义的。这应该是服务器问题吗?是的,服务器需要发送ID和您希望模型具有的任何其他值。我确实更新了我的问题,并添加了选项wait:true
。不幸的是,当我在onSuccess函数中获得id时,id是未定义的。这应该是服务器问题吗?我认为是的,您应该手动发布以检查它的响应。你在用什么服务器?我昨天问了一个类似的问题,得到了我需要的答案。我确实更新了我的问题,添加了选项wait:true
。不幸的是,当我在onSuccess函数中获得id时,id是未定义的。这应该是服务器问题吗?我认为是的,您应该手动发布以检查它的响应。你在用什么服务器?我昨天问了一个类似的问题,得到了我需要的答案。
return Marionette.CompositeView.extend({
submitForm: function (event) {
this.textAreaElement = this.$el.find('[data-tid="announcement"]');
this.messageModel = new MessageModel();
this.messageModel.save({
message: this.textAreaElement.val()
}, {
wait: true,
success: this.onSuccess,
error: this.onError
});
},
onSuccess: function () {
console.log(this.messageModel.get('id')); // undefined
this.collection.add(this.messageModel); // I need to get also the id of the following model
// which is created by the server
}
});