# Ajax

> 原文：[https://docs.gitlab.com/ee/development/fe_guide/droplab/plugins/ajax.html](https://docs.gitlab.com/ee/development/fe_guide/droplab/plugins/ajax.html)

*   [Usage](#usage)

# Ajax[](#ajax "Permalink")

`Ajax`是一个 droplab 插件，允许从服务器检索和呈现列表数据.

## Usage[](#usage "Permalink")

将`Ajax`对象添加到`DropLab.prototype.init`或`DropLab.prototype.addHook`调用的 plugins 数组中.

`Ajax`需要 2 个配置值， `endpoint`和`method` .

*   `endpoint`应该是请求端点的 URL.
*   `method`应为`setData`或`addData` .
*   `setData`将下拉列表完全替换为响应数据.
*   `addData`将响应数据追加到当前下拉列表中.

```
<a href="#" id="trigger" data-dropdown-trigger="#list">Toggle</a>
<ul id="list" data-dropdown><!-- ... --><ul> 
```

```
const droplab = new DropLab();

const trigger = document.getElementById('trigger');
const list = document.getElementById('list');

droplab.addHook(trigger, list, [Ajax], {
  Ajax: {
    endpoint: '/some-endpoint',
    method: 'setData',
  },
}); 
```

（可选）您可以将`loadingTemplate`设置为 HTML 字符串. 请求待处理时，此 HTML 字符串将替换下拉列表.

此外，您可以将`onError`设置为捕获任何 XHR 错误的函数.