昨天项目中碰到了一个bug,我们的客户端webview加载了我们的一个新闻详情页,在详情页里面发表一条评论,但是刷新页面后,刚才发表的评论却没有显示在评论列表里。
第一直觉,用其他的浏览器试试这一流程,发现没有问题。
这就奇怪了,难道是webview的设置有问题吗?但是因为不知道新闻评论这个功能的前端后端逻辑,随便修改webview的设置只能是盲人摸象,乱改一通,就算改好了可能也不知道为什么这样改就可以了。
本着科(zhuang)学(bi)的精(yu)神(wang),我先仔细想了想几个可能导致bug的疑点:
1.使用了网页缓存,所以导致没有看到新的评论
2.发表的评论上传失败了
3.请求评论列表出现错误
一开始以为使用的缓存页面,所以没有刷出来评论,可用fiddler抓包发现2个现象:
1.发表评论的时候,ajax请求返回的json,errorcode=0,这说明上传评论是成功的;
2.刷新页面确实重新请求了评论列表,返回的json,errorcode=0,说明请求列表也是成功的,但是居然不包含刚刚发的评论!
抓包可以说明两件事:
1.基本可以排除是本地缓存导致的问题
2.极有可能是后端出了问题
所以找了下后端的开发,了解了下评论逻辑。上传的评论一般都需要审核(人工审核),但是为了能在审核之前让用户可以马上看到自己刚发表的评论(防止以为是个bug),所以在服务端把刚评论的message种到了cookie里面,只要拿到cookie就可以显示出评论了。
然而抓包过程中,并没有发现服务端发送任何cookie