springmvc 请求400 bad request(授之以鱼不如授之以渔,使用firebug找错)
说在前面:不知道火狐的firebug怎么用的,自己去百度!
这个错误的出现,困扰了我一个上午,也百度了好多博客进行学习。但是大部分博客都是只说了错误出现的原因。
以及给出了一些不负责任的解决办法(反正我是看不懂)。
通过这些博客我知道,错误出现的原因是因为 form表单提交的数据,与后台希望获得的数据类型不匹配造成的。
但是我不知道我哪儿的数据不匹配。所以,自己摸索了使用firebug进行错误的查找!
错误的出现
最近在做一个“”学生考试管理系统“”,在对已经录入过的试题进行编辑的时候,出现400 Bad Request错误,记录如下。
当我们前台数据加载完成之后,点击前台的“编辑题目”按钮,编辑完之后,点击“确定”,会发现firebug的控制台出现“”。
(gif制作工具比较垃圾,大致可以看清操作步骤)
问题出现了,那怎么解决呢?
使用firebug找错
前面说了,通过上网浏览了好多博客,猜测错误可能是因为:form表单提交的数据,与后台希望获得的数据类型不匹配造成的。
所以我们就查看一下,我们传入的数据是什么样子的。
通过firebug查看form表单提交的数据
我们在控制台可以看到,我们的这个updateSingle.do的请求并没有发送出去。而且,后台eclipse使用debug的话,也进不到我们相对应的controller处理方法。
firebug控制台看不到我们的请求的数据:
那么这里看不到我们请求的数据,哪儿可以看到呢??
打开我们的firebug。点击上方菜单,选择网络。我们就会看到下面这个页面:
我们的错误信息也在上面。。这个错误信息是可以展开的。。如下:
展开网络面板后,有五个子菜单。我们的要的数据在哪里呢?
要的数据在这里!
选择五个子菜单中的post;
就会看到我们传入后台的数据。然后,与我们的服务器短希望接收到的数据进行比较。就可以找到错误所在。
错误的修改:
通过上面我们知道了前台传入的数据是什么。
在观察我们的后台;
我们期望得到一个 整形的 chno! 而我们的前台传入的是:
【完】