1.問題描述
應產品需求,APP中大都存在發(fā)送驗證碼的功能;最近在工作中,發(fā)現了這么一個問題;A , B兩個頁面;A為一級頁面,B為二級頁面;B為A在push操作后的頁面;在B頁面中有發(fā)送驗證碼的邏輯,在所需參數填寫完畢后,此時故意填寫錯誤參數,網絡請求后服務器返回錯誤提示信息?;氐紸頁面再次進入B頁面,此時正確填寫所有參數,確認后提交后發(fā)現此時并沒有發(fā)生網絡請求,而是出現了上次的錯誤信息提示。
思路一:
首先考慮到是網絡緩存的問題,看代碼,如下:
_sessionManager.requestSerializer.cachePolicy = NSURLRequestReloadIgnoringLocalCacheData;
并沒有加載本地的緩存,那么問題出在哪里呢?
思路二:
是否是因為網絡請求超時的原因,看代碼,如下:
_sessionManager.requestSerializer.timeoutInterval = 30;
超時時間設置為30s,發(fā)送驗證碼的倒計時是60s;
最后把超時時間修改為60s,并且在post的請求里面添加了NSURLRequestReloadIgnoringLocalCacheData的設置,然后跑項目,問題解決了。
綜上
問題來源是post的請求緩存可能出現了(但是項目本身里面沒有,這個問題還有待研究);希望小伙伴有知道具體原因的,不吝賜教QAQ;