首先说明一下像那些因为什么ajax里面没写dataType或是后台忘记匹配@RequestMapping或是前台键值对字段和后台函数参数中的字段名不同或是类型不同这些显而易见的错误而导致的错误就不再这里说了。下面说一下一些不易发现而导致controller接受对象为null的错误点。
1>在springMvc中前台ajax多加了contentType:"application/json"
(uuu的值为username,pas值为password,这里没截出来)
后台处理:(employee该pojo对象里有username和password等String字段)
处理请求结果:接受到前台的结果都为null
但是一旦把contentType去掉后,
后台成功反射出对象:
2>ajax中data后面的值 直接使用了JSON.stringify()函数
后台情况:
这是因为data传的值应是obj对象,而不是string字符串,使用stringify函数后data的值是: "{"username":"username","password":"password"}",
而json对象是{"username":"username","password":"password"},没有外面的引号。
然后这里把data对应值改为obj:
后台成功输出:
那么项目里不想手动写json字符串怎么处理?这里还有中方法,JSON.parse(JSON.stringify(obj)),先把obj打成json字符串,再合成json对象:
后台也成功输出: