$this->request->param()多出来一个参数怎么办
1、将线上代码pull到本地,运行时代码保持,后面排查我在本地运行时发现多出一个“模块/控制器/方法”的参数。
2、排查发现线上环境和本地环境,有区别的便是线上用的是nginx,本地用的apache,为了验证是不是这个导致的,我把本地转换成了nginx,果然代码回复正常,但是这不能靠更换环境去解决这个问题吧,所以得解决
1、首先在相应模块下面添加一个common.php文件(有的可以不用添加),打开文件,新建一个函数名字为filterParam(自己取名字);这common文件为tp5框架模块公共文件,这里里面的函数众所周知,可以公用。
2、过滤掉多出来的函数,大致思路是,有便过滤没有便放行,所以这个写起来写比较方便,
1.首先我们获取当前module名和controller名以及action名,
2.然后和所获取的所有参数键名对比,存在就删除该属性,然后跳出循环,因为只有一个这样的属性。然后返回正确的数据即可。
具体可参考下图,如果你有更好的解决办法可以留言给我。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。