骨干Ajax验证

时间:2013-03-25 10:32:43

标签: javascript jquery backbone.js

我是Backbone的完整菜鸟,我现在只学习了大约8个小时,很抱歉,如果这个问题看起来很基本。文档在这方面不是很清楚。

有问题的模型Product需要运行大量的Ajax调用。在我的模型的逻辑中,我需要在模型的验证中运行至少2个Ajax调用,具体取决于某些条件。

不仅如此,但是当某些字段发生变化时,我还需要运行Ajax调用,因为每个字段都触发了自己的变更字段,从最后一次更改中冒出来,即:

  • 价格变动
  • 该模型通过服务器调用重新计算产品的价格
  • 同时,从价格变动
  • 触发模型的供应商变量的变更
  • 供应商变更必须在价格变动后进行Ajax通话。

所以我需要知道的是:基本上我应该如何将所有Ajax调用转换为Backbone?这里最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

我将用我的发现和解决方案回答这个问题。

所以我完成了与所有Ajax调用的骨干集成。我解决这个问题的方法是使用jQuery的promise API从模型函数中返回一个可用于链接的延迟对象。然后我在我的界面中以链式方式使用了这些函数。

为了更好地解释这里是一个例子: - 想象我在Product类中有两个函数;一个名为populateRecord,另一个名为set_price。每个人都进行自己的Ajax调用和处理。

在视图ProductView中,我将包含一个名为edit的函数,该函数将处理如何以及何时调用这两个模型函数的逻辑:

this.model.populateRecord().then(function(data){ return $this.model.set_price(data) })

将“业务”方面纳入视图的方法运作良好,解决了许多问题。

希望这有助于其他人,