一、问题描述
这次做ssm项目,使用vue.js框架,则选择axios传输数据(相当于ajax),当使用其get请求时,后台的controller中可以直接使用request.getParameter方法获取传输的json数据,用得很开心,没有bug(嘴角疯狂上扬)。然而,当ajax中使用post方法提交json数据时,出现bug-------request.getParameter获取不到对应得数据。问题图下:
可以看到,前端使用json传输数据后,后台ssm框架并不能自动得填入数据,使用request方法也不能获取到数据。
二、解决方法
1、后台创建对应得实体类,并使用@RequestBody来把值注入进实体类中。
2、后台函数使用@RequestBody Map<x,x> map来接收数据,这样数据都将封装进入map中。
3、后台可以使用@RequestBody String str中,这样数据都将变成字符串存入str中,没啥实际作用。
4、还可以使用读取数据流得方法,这种方法不推荐,烦琐。
5、从源头解决,在ajax中使用get请求或者传输form数据使用$("$form").serialize(方法,则可在后台使用request获取数据。