同前端联调遇到的坑(二)
转自:http://blog.csdn.net/tuzongxun/article/details/51323377
一、出现的问题
项目在测试阶段出现了一些问题,在有一个页面进行增加或删除数据后刷新,页面没有任何反应。
查看增加或修改的请求,响应是200状态,提示新增或删除成功,但是页面刷新后无论是条数还是详细数据都没有变化,该多的不多,该少的也不少。
而且看到新增或删除后的查询请求,返回状态码是304,也就是说页面重定向了。
由于这一模块相关的前端代码不是现在的这个同时负责,因此他也是一顿好找。
二、失败的解决方案
一开始在网上查询时,说是浏览器缓存的问题,于是他参照部分资料修改了请求头,加上了如下代码:
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="0">
三、成功解决方案
于是乎,他只好和另一个同事一起在网上再次一番好找,看到网上说get请求可能会发生这个问题,然后一检查,发现我们的这个新增和删除之后的查询请求果然是get,于是便把get改成post,我也把后端相关的代码改成了post。
但是结果却是,无论如何我都接收不到他们传递的数据,控制台明明是个2,我后台debug看到的却还是0。
以前从没遇到过这样的问题,我也是一阵无语,网上搜了好多资料无果后,只好向老同事寻求帮助,于是成功的解决,原因只在于我的后台get变为post后,用对象接受参数时没有加入@requestbody这个注解,因此spring无法把post请求传递的数据正确的转换为对象,就导致控制台看到的请求参数与我debug看到的不一样。
@requestbody注解解释参考:http://blog.csdn.net/kobejayandy/article/details/12690555