【问题标题】:Backbone update triggers complete, but not error or success主干更新触发完成,但没有错误或成功
【发布时间】:2012-03-30 17:12:25
【问题描述】:

我正在使用带有 Rails 的 Backbone,并且正在对 Backbone 模型进行保存调用。它将正确的参数传递给服务器,服务器以 200 响应,模型实际上在数据库中得到更新。

问题是,它返回到 ajax 调用时出现错误。有趣的是,当我进入 Backbone.sync 中的 ajax 调用并输入错误、成功和完成回调时,它只会触发完成。完整的回调会注册一个错误,但仅此而已。

在此之后页面重定向到相同的 url,但所有参数都在查询字符串中发送:

/blah/23/索引

然后用 {thing: 27, man: 82} 保存 Backbone,一切正常,但重定向到

/blah/23/index?thing=27&man=82

我不认为这是特定于 Backbone 的问题,因为我正在以有效的 JSON 返回更新的对象,并且我在 Backbone.sync 中的实际 ajax 调用上设置了所有成功、错误和完整的回调。

有人遇到类似情况或有建议吗?

【问题讨论】:

    标签: javascript ajax backbone.js


    【解决方案1】:

    啊啊啊啊!

    我花了很多时间试图弄清楚这个问题,结果发现它太愚蠢了。 Backbone.sync 调用来自尝试保存表单中的信息。因此,我从表单中收集了数据并使用属性调用了 model.save。 Backbone.sync 调用很好,但缺少一件事......

    event.preventDefault()

    表单是带有提交按钮的真实表单,在某些合并冲突期间,event.preventDefault() 丢失了。

    如果您遇到这种情况,请记住在提交真实表单时调用 event.preventDefault(),但您希望它使用 Backbone.sync 或任何 ajax 调用。

    【讨论】:

      猜你喜欢
      • 2018-08-05
      • 1970-01-01
      • 1970-01-01
      • 2014-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-15
      相关资源
      最近更新 更多