iOS日常BUG分析之网络请求缓存(0927)
2017-09-27 本文已影响0人
Jerry_chang
1.问题描述
应产品需求,APP中大都存在发送验证码的功能;最近在工作中,发现了这么一个问题;A , B两个页面;A为一级页面,B为二级页面;B为A在push操作后的页面;在B页面中有发送验证码的逻辑,在所需参数填写完毕后,此时故意填写错误参数,网络请求后服务器返回错误提示信息。回到A页面再次进入B页面,此时正确填写所有参数,确认后提交后发现此时并没有发生网络请求,而是出现了上次的错误信息提示。
思路一:
首先考虑到是网络缓存的问题,看代码,如下:
_sessionManager.requestSerializer.cachePolicy = NSURLRequestReloadIgnoringLocalCacheData;
并没有加载本地的缓存,那么问题出在哪里呢?
思路二:
是否是因为网络请求超时的原因,看代码,如下:
_sessionManager.requestSerializer.timeoutInterval = 30;
超时时间设置为30s,发送验证码的倒计时是60s;
最后把超时时间修改为60s,并且在post的请求里面添加了NSURLRequestReloadIgnoringLocalCacheData的设置,然后跑项目,问题解决了。
综上
问题来源是post的请求缓存可能出现了(但是项目本身里面没有,这个问题还有待研究);希望小伙伴有知道具体原因的,不吝赐教QAQ;