主干更新触发完成,但不会触发错误或成功

Backbone update triggers complete, but not error or success

本文关键字:错误 成功 更新      更新时间:2023-09-26

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

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

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

/blah/23/索引

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

/blah/23/索引?thing=27&人=82

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

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

AAAHHHHH!

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

event.prventDefault()

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

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