上一篇
🚀 Laravel与Layui接口对接全攻略 🚀
Laravel默认返回JSON格式,通过中间件或控制器即可快速配置:
// 中间件统一设置响应头 public function handle($request, Closure $next) { $response = $next($request); $response->header('Content-Type', 'application/json'); return $response; } // 控制器直接返回JSON return response()->json(['code' => 0, 'msg' => '成功', 'data' => $data]);
使用php artisan make:resource UserResource
生成资源类,定义toArray
方法:
public function toArray($request) { return [ 'id' => $this->id, 'name' => $this->name, 'created_at' => $this->created_at->format('Y-m-d'), // 🔧 时间格式化 ]; }
Layui表格需要固定键值对结构,否则会报错❌:
{ "code": 0, // 状态码(0表示成功) "msg": "成功", // 提示信息 "count": 100, // 数据总条数 "data": [ // 具体数据数组 {"id": 1, "name": "张三"}, {"id": 2, "name": "李四"} ] }
对于层级数据,需添加以下字段:
{ "parentId": null, // 父级ID "children": [], // 子级数组 "isParent": true // 是否为父节点 }
Laravel控制器:
public function getMethods(Request $request) { $controller = $request->get('controller'); $methods = get_class_methods("App\\Http\\Controllers\\$controller"); return response()->json(['data' => $methods]); // 🚀 直接返回JSON }
Layui前端:
form.on('select(role)', function(data) { $.ajax({ url: '/getMethods', data: {controller: data.value}, success: function(res) { // 🎉 动态渲染下拉框 $('#methods').html(res.data.map(v => `<option>${v}</option>`)); } }); });
Laravel返回嵌套数据:
public function getPermissions() { $permissions = Permission::with('children')->get(); return response()->json(['data' => $permissions]); // 📦 包含子权限 }
Layui表格渲染:
table.render({ elem: '#permissionTable', url: '/getPermissions', cols: [[ {field: 'name', title: '权限名称'}, {field: 'display_name', title: '显示名称'}, {field: 'children', title: '子权限', templet: '#childrenTpl'} // 🌳 树形结构 ]] });
lay-filter
和templet
用法。💡 小技巧:在Laravel中使用transform
方法快速转换数据格式:
return response()->json($data->transform(function ($item) { return [ 'code' => 0, 'msg' => '成功', 'count' => $item->total(), 'data' => $item->items() ]; }));
通过以上步骤,Laravel与Layui的接口对接将变得轻松有趣!🎉
本文由 业务大全 于2025-08-25发表在【云服务器提供商】,文中图片由(业务大全)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vds.7tqx.com/wenda/726764.html
发表评论