小程序 wx.request 组件 缓存BUG
bug 产生的环境:因为业务的关系,我司希望已经注册的推广人员才能生成临时的推广二维码。 首次尝试:我们把对于后台找不到注册信息的推广人员 返回Json: { "errorCode": 1001 } 这些都没有问题,为了测试有加入推广的情况,我将自己在后台数据设为推广人员 { "errorCode": 1001, ----------注意,多了这个 "ticket":"nFkUTA---很长", "expire_seconds":7200, "url":"http://weixin.qq.com/q/02aTmNp---------T" } 我其实只传了下边3个参数,当然这个只能说明res变量只是重用,没有申请新内存空间而已,空的属性不会覆盖之前数据 再次尝试,知道变量需要重用以后,我把返回的参数都统一了,只是返回临时二维码的3变量, 如果非推广人员,希望直接通过ticket是否为null直接判断 { "ticket":"null", "expire_seconds":0, "url":"http://weixin.qq.com/" } 然后,神奇的BUG产生了, { "ticket":"null", ------这条永远都是null "expire_seconds":0, --------下边两条都不受影响,会随着变动 "url":"http://weixin.qq.com/" } 于是我开始找原因,首先先从我自己服务器的返回值是否正确判断,页面确认已经设置Cache-Control: "no-cache" 数据库日志表里边写入回传的json,自己写了个小工具,证实我服务器的返回数据是正确的。 然后我考虑是不是本地缓存问题,但是清除所有缓存、新建一个小程序、用一部新手机预览,都给我返回"ticket":"null" 种种迹象表明,wx.request 控件有了问题,可以私信我拿具体测试的接口。 [图片][图片]