586.md 1.3 KB
Newer Older
Lab机器人's avatar
readme  
Lab机器人 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
# 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 错误的函数.