javascript - Backbone Ajax 验证

标签 javascript jquery backbone.js

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

相关模型 Product 需要运行大量 Ajax 调用。在我的模型逻辑中,我需要根据特定条件在模型验证中运行至少 2 个 Ajax 调用。

不仅如此,当某些字段发生更改时,我还需要运行 Ajax 调用,因为每个字段都会触发从上次更改中冒出的自己的更改字段,即:

  • 价格变化
  • 模型通过服务器调用重新计算产品价格
  • 同时,价格变化会触发模型的 vendor 变量发生变化
  • vendor 变更必须在价格变更后执行 Ajax 调用。

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

最佳答案

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

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

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

在 View ProductView 中,我将放置一个名为 edit 的函数,该函数将处理如何以及何时调用这两个模型函数的逻辑,如下所示:

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

将“业务”方面放入 View 中的方法效果很好,并且解决了许多问题。

希望这对其他人有帮助,

关于javascript - Backbone Ajax 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15612760/

相关文章:

javascript - 在backbone.js中形成JSON请求

javascript - 获取用户位置的免费 JavaScript 插件

javascript - 在Angular 6组件html中全局访问js对象

javascript - 单击密码字段外部时如何更改密码可见性

javascript - 检查表格行的所有输入/选择字段是否都具有值

backbone.js - 如何将所有模板放在不同的 HTML 文件中,如 "AppTmpl.html"以及如何访问主干中的这些模板?

javascript - jQuery .load() 不会将数据加载到 <form></form> 中

javascript - CSS:如何动态增大/缩小 HTML 表格列

javascript - jQuery DataTables - AJAX 调用正常工作,但数据未绘制成图表

javascript - 使用嵌套对象创建复杂形式的 JSON 表示并更新 Backbone 模型