2012-07-11 110 views
0

我想将模型的属性设置为不同的东西。当我保存模型时,Backbone发出POST请求而不是PUT请求。执行POST请求而不是PUT请求的骨干

我在另一个Stackoverflow帖子上看到,Backbone使用模型的id来确定模型是否是新建的。当我console.log(model),模型有一个id属性。当我console.log(model.id),它打印出未定义。如何当我做一个console.log(model),模型有一个id属性,但当我做console.log(model.id)时,我回来undefined?

Backbone使用哪种方式确定模型是否为新模型?而且,我该如何解决这个问题?我正在使用backbone-tastypie。

+0

这有帮助吗? - http://stackoverflow.com/questions/7473057/save-on-existing-model-causes-post-instead-of-put – 2012-07-11 06:17:48

回答

2

您是如何在首位创建模型的?模型的id需要在模型的数据中指定。通常这会在第一次保存新对象时在服务器响应中返回。一旦设置了ID,Backbone将使用PUT而不是POST进行保存。

+0

我通过Backbone创建了模型。它实际上有一个id属性。当我做model.get(“id”)时,我得到有效的ID。 – egidra 2012-07-12 00:58:34

+0

我认为我们需要查看您的代码以获取更多信息。 – lecstor 2012-07-12 02:01:43

+0

问题在于计时问题。我必须将代码放在成功获取后调用的成功回调中。 – egidra 2012-07-12 05:41:54