数据的异步请求由以下几个参数组成:
https://www.layui.com/doc/modules/table.html
参数名 |
功能 |
url |
接口地址。默认会自动传递两个参数:?page=1&limit=30(该参数可通过 request 自定义) page 代表当前页码、limit 代表每页数据量
|
method |
接口http请求类型,默认:get |
where |
接口的其它参数。如:where: {token: 'sasasas', id: 123}
|
contentType |
发送到服务端的内容编码类型。如果你要发送 json 内容,可以设置:contentType: 'application/json'
|
headers |
接口的请求头。如:headers: {token: 'sasasas'}
|
|
parseData |
数据格式解析的回调函数,用于将返回的任意数据格式解析成 table 组件规定的数据格式。
table 组件默认规定的数据格式为(参考):
默认规定的数据格式
- {
- "code": 0,
- "msg": "",
- "count": 1000,
- "data": [{}, {}]
- }
-
很多时候,您接口返回的数据格式并不一定都符合 table 默认规定的格式,比如:
假设您返回的数据格式
- {
- "status": 0,
- "message": "",
- "total": 180,
- "data": {
- "item": [{}, {}]
- }
- }
-
那么你需要借助 parseData 回调函数将其解析成 table 组件所规定的数据格式
- table.render({
- elem: '#demp'
- ,url: ''
- ,parseData: function(res){ //res 即为原始返回的数据
- return {
- "code": res.status, //解析接口状态
- "msg": res.message, //解析提示文本
- "count": res.total, //解析数据长度
- "data": res.data.item //解析数据列表
- };
- }
- //,…… //其他参数
- });
-
该参数非常实用,系 layui 2.4.0 开始新增
|
request |
用于对分页请求的参数:page、limit重新设定名称,如:
- table.render({
- elem: '#demp'
- ,url: ''
- ,request: {
- pageName: 'curr' //页码的参数名称,默认:page
- ,limitName: 'nums' //每页数据量的参数名,默认:limit
- }
- //,…… //其他参数
- });
-
那么请求数据时的参数将会变为:?curr=1&nums=30
|
response |
您还可以借助 response 参数来重新设定返回的数据格式,如:
- table.render({
- elem: '#demp'
- ,url: ''
- ,response: {
- statusName: 'status' //规定数据状态的字段名称,默认:code
- ,statusCode: 200 //规定成功的状态码,默认:0
- ,msgName: 'hint' //规定状态信息的字段名称,默认:msg
- ,countName: 'total' //规定数据总数的字段名称,默认:count
- ,dataName: 'rows' //规定数据列表的字段名称,默认:data
- }
- //,…… //其他参数
- });
-
那么上面所规定的格式为:
重新规定的数据格式
- {
- "status": 200,
- "hint": "",
- "total": 1000,
- "rows": []
- }
-
|
注意:request 和 response 参数均为 layui 2.1.0 版本新增