微信项目一直都是另一位小伙伴专门负责
去年写友圈的时候就遇到过这个问题
今天弄这么久才恍然大悟问题所在
一、事件起因
微信项目大部分页面需要获取用户信息,
所以做了个公共的基类专门处理微信验证
大部分页面就继承了这个基类
微信本地开发为了方便预览就专门写了个配置
用于绕过微信客户端验证
方便调试时 直观查看到页面的即时效果
本地开发也就像普通web项目一样
惯性的将控制器继承基类
由于业务量少
所以把页面的ajax 请求操作也写到了同一个控制器文件内
好,功能本地测试成功,代码发布线上
问题就来了
线上所有ajax请求一律无响应
tp里面即使不用U方法处理url问题依旧
二、处理过程
最开始以为语法有错误
把js和页面能精简的代码全部处理了下
问题依旧啊!
介于微信又没法像web一样开个开发者工具调试代码
于是想了个笨办法
在页面上做点击事件
然后将整个html源代码全部提取到input输入框里
再从微信上触发事件后把源码拷贝到编辑器查看
最开始以为ajax的url生成错误
于是尝试增加/删除使用U方法处理URL
结果仍然没有任何变化
看到最上方的继承的基类
我把继承删掉后,页面出现另外一个错
我突然意识到这个问题去年就处理过
原因终于找到了
就是基类的微信验证问题
三、解决方案
新建一个ajax控制器
将ajax控制器用于ajax请求的处理控制器,并且不基成验证基类,发布线上问题解决