javascript - 主干更新触发完成,但没有错误或成功

标签 javascript ajax backbone.js

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

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

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

/blah/23/index

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

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

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

有人遇到过类似的事情或有建议吗?

最佳答案

啊啊啊啊!

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

event.preventDefault()

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

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

关于javascript - 主干更新触发完成,但没有错误或成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9947477/

相关文章:

javascript - object 使用追加的对象问题

javascript - Jquery 在后台 ajax 加载后监听输入字段的变化

javascript - 使用 jQuery 和 AJAX 调用 PHP 类方法并获取返回值

javascript - 如何遍历 JSON 列表并插入到 HTML 元素中?

javascript - 函数 _.bind() 不会绑定(bind)对象

javascript - 将非输入元素与 Backbone.Syphon 一起使用

javascript - typescript 和 sweetalert2 Uncaught ReferenceError : exports is not defined

javascript - react 组件和作为 react 组件的功能有什么区别

javascript - 获取祖 parent 元素中的文本

javascript - 从 Backbone.js 中的集合获取构建模型