thinkphp 抛出异常后不返回错误页面 改成返回json字段

在ThinkPHP框架中,避免抛出异常后显示错误页面,可以通过配置`exception_tmpl`实现。只需在config中定义一个自定义的404.html或404.tpl模板,这样当异常发生时,系统将返回定义的JSON内容。
摘要由CSDN通过智能技术生成

虽然不建议该tp底层代码,但我没有找到其他方法,如果有其他解答这问题的方法,麻烦留言

thinkphp5 开启debug后,当报错后会出现较详细的内容
如果关闭debug 则出现 页面错误,请稍后再试

现在要跟前端合作,然后要保证不管访问什么连接都要返回一个json自读不能返回错误页面

然后你就找而配置文件呀 好不容易看error_message 把它改成了{
  "status":500 , "description" : "服务器错误!"} 结果吧显示出来的呢是json格式了 结果却还是错误页面,只不过内容是这个

然后你把thinkphp5框架整个翻了一遍 你会发现框架出现错误后会加载thinkphp下面的tpl中的...tpl文件  

上面都是废话,解决方法如下:
找到项目目录下的\thinkphp\library\think\exception中的Handle.php
然后找到convertExceptionToResponse方法
你会发现 $response = new Response($content, 'html');
因为你要放回json格式的数据
改成如下内容
$content</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值