Ajax

admin 提交于 周三, 06/07/2023 - 15:21

Ajax

Drupal 的用户界面,是服务端渲染的。

Drupal Ajax 系统,并不是用于开发 SPA 应用的。在 SPA 大行其道的今天, Drupal 也支持 Headless 的开发模式,向 SPA 应用提供 HTTP API 接口。 在后面的课程中,会专门进行介绍。

Drupal 的 Ajax 支持,是服务端渲染范畴的内容,它的主要作用是使页面可以被部分更新。

Drupal Ajax 系统流程

它的大致过程是:

  • 在编写渲染数组时,为渲染元素设置 Ajax 的相关属性,使得元素被渲染后能具备触发 Ajax 请求的能力。
  • 用户在浏览器中操作页面,触发在编写渲染数组时定义好的 DOM 事件,触发 Ajax 请求。
  • Ajax 请求被发送到编写渲染数组时设置好的路由。
  • 路由指向的业务逻辑代码返回 Ajax 响应,响应包含了数据和浏览器需要执行的 jQuery 操作。
  • 浏览器接收到 Ajax 响应,执行响应中指定的 jQuery 操作命令,更新页面 DOM。

触发 Ajax 请求

有两种方式可以使渲染元素具备触发 Ajax 请求的能力:

  • 通过为 link 元素添加 CSS 类 use-ajax
  • 通过为表单元素添加 #ajax 渲染属性。