欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > laravel中layui的table翻页不起作用问题的解决

laravel中layui的table翻页不起作用问题的解决

2025/4/30 11:47:51 来源:https://blog.csdn.net/andux/article/details/147576435  浏览:    关键词:laravel中layui的table翻页不起作用问题的解决

本地测试是好的,部署的时候就发现,翻页不起作用了。但lay_num序号是可以变化的,查看api接口传递的数据,发现数据没有变化,加上page=2等翻页,也是不起作用,看来是url参数返回给后台,后台读取不了数据。

感谢这个文章:laravel 路由在nginx不生效解决(宝塔面板)_laravel nginx路由无法访问-CSDN博客

原因就是Nginx服务没有传递参数,配置如下: 

    location / {root /www/wwwroot/xxx/public;index index.php index.html index.htm default.php default.htm default.html;# try_files $uri $uri/ $uri.php /index.php;try_files $uri $uri/ /index.php?$query_string; #开启路由访问,laravel项目改为此条}

就是要加上?$query_string这个url变量,传递参数值,否则Nginx服务就不转发get方法参数了。post方法不受影响。

这样laravel后端输出的api就非常简单:

    public function users(){return User::paginate(10);}

就连request参数也不需要了,如果要自定义翻页,就需要自己计算offset:

public function users(Request $request)
{$curr_page = $request->input("page", 1);$limit = $request->input("limit", 10);$count = User::count();$offset = ($curr_page - 1) * $limit;// 确保 offset 不为负数if ($offset < 0) {$offset = 0;}$users = User::offset($offset)->limit($limit)->get()->toArray();return response(['code' => 0,'msg' => '','count' => $count,'data' => $users]);
}

如果没有传递code=0这个layui的table必须自带的参数,table就会接收不到数据,需要在table的options里添加一下:

        , parseData: function(res) {// console.log(res);//   var result;//   if (this.page.curr) {//     result = res.data.slice(this.limit * (this.page.curr - 1), this.limit * this.page.curr);//   } else {//     result = res.data.slice(0, this.limit);//   }return {"code": 0// , "msg": res.msg, "count": res.total, "data": res.data};}

 闹了半天,原来是Nginx服务器的配置问题。本地测试是正常的,部署到服务器就翻页出问题,翻不了页,应该想到是服务器配置的问题了……

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词