【问题标题】:what is a Backbone model.save( ) call expecting on a POST operation?POST 操作中期望的 Backbone model.save() 调用是什么?
【发布时间】:2011-11-16 21:04:39
【问题描述】:

我在骨干模型上调用 save() 以在后端执行 POST 操作。操作在服务器端成功完成(我可以看到添加的记录并且响应状态返回为 200)。目前,RESTful api 调用正在返回响应正文中插入记录的 ID。我定义了传递给保存调用的成功和错误回调,但从未调用成功。相反,Backbone 代码阻塞在从 REST 调用返回的那个 ID 上。有没有更好的方法让我从客户端处理这个问题,或者 REST api 实现是否应该返回其他内容?

【问题讨论】:

  • @kinakutta 是将服务器上保存的模型添加到集合中需要成功,错误回调还是默认处理?
  • 不需要回调。如果您想定期将您的客户端模型与服务器同步,可以通过显式方法调用来做到这一点。

标签: backbone.js


【解决方案1】:

默认情况下,我相信它期望对象的更改属性为 JSON。见:http://documentcloud.github.com/backbone/#Sync

【讨论】:

  • 我也是这么想的,所以我想我想知道我该如何绕过这个期望(如果我不能让 api 返回不同的东西。)
  • @kinakuta 刚刚更新了我的答案。更改的值可能就足够了。不过,我通常会发送整个对象。
  • 所以我猜即使在那种情况下,它仍然需要一个包含 ID 的对象。无论哪种方式,看起来 api 都需要返回一些不同的东西(或者至少返回骨干可以处理的对象中的 id)。
  • 好的,找到解决方法 = 覆盖模型的 parse 方法以获取原始响应并将其编组为对象。谢谢,ponzao。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-04
  • 2014-10-26
  • 2011-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多