【问题标题】:Multiple AJAX requests to populate form fields?填充表单字段的多个 AJAX 请求?
【发布时间】:2025-12-13 12:15:01
【问题描述】:

假设我的基于 Backbone.js 的 Web 应用程序有一个包含多个下拉列表的表单,每个下拉列表包含不同类型的数据,通过 API 数据填充。

当我使用 Backbone.js 时,我的应用程序逻辑完全位于客户端。因此,我不想通过典型的服务器端 MVC 方法来填充这些下拉列表,即通过服务器端将数据注入 MVC 视图;相反,我希望 Backbone 检索这些下拉菜单的数据。

所以,我的问题是:要填充三个不同的下拉菜单,我是否会对我的 API 执行三个不同的 AJAX 请求?示例:

  1. GET /categories/
  2. GET /国家/
  3. GET /vehicle/models

或者从 RESTful 的角度来看,将它们组合成一些“元”API 方法是否有意义?

【问题讨论】:

    标签: javascript ajax backbone.js


    【解决方案1】:

    我认为 Backbone 对此非常不可知论。如果您不介意提出三个请求,那么这样做当然可以。如果您想对您的 API 进行一次调用,该 API 将所有三组数据编译在一起并返回它们,以便在返回时进行处理,这也是完全合法的。

    【讨论】:

    • 从 RESTful 的角度来看,将所有三个请求编译为一个是否有意义?
    • 我想这取决于您是否真的想要/需要严格遵循 RESTful-ness。如果这是一次性的事情,您只需要进行一次提取即可填充下拉列表,我会考虑将数据作为批处理检索。如果这些类别、国家和车辆经常被用作重要的单独部分,那么每个资源都有一个 URL 是有意义的。我不确定这是不是最佳实践,但作为一个例子,我以 RESTful 方式为我的模型提供了单独的资源位置,但我有时会轮询到不同的 url 并获取一批数据。
    • 是的,仍然保留单独的资源位置当然是有道理的。然后我想批处理本身就是一个额外的资源。