rbac没权限返回如何判断跳转到页面还是ajax返回

做后台过程中遇到个问题
用的是thinkphp自己的rbac
每个baseController里检查权限
当没有权限的时候,输出没有权限的页面
但是如果是按钮的话,点击后没有权限是前端页面是没有任何反馈的。只有F12开发者工具才能看到
所以,怎样在判断到没有权限后,有正确的返回方式,如果是页面让他进入没有权限的页面,如果是按钮让他返回ajax弹出您无权限的框
噜噜哒
浏览 268回答 2
2回答

慕姐4208626

根据HTTP请求的header判断是Ajax请求还是正常的页面请求,如果是普通的请求就直接跳转到登陆页,如果是Ajax请求(带X-Requested-With:XMLHttpRequest)就返回HTTPstatus401,或者类似能表达未登录状态的通用数据,我的处理是{status:1,message:'',data:[...]}这样的数据结构,前端根据返回数据的status判断当前是否成功取到数据,然后对封装的数据进行进一步处理

aluckdog

RestController有response()方法可以返回json,或者自己写一个返回json的方法。比如返回:{error:1,msg:"无权限访问xxx"}前端判断data.error就可以了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript