理论基础
在jquery的ajax中,如果没加contentType:“application/json”,那么data就应该对应的是json对象;如果加了contentType:“application/json”,那么ajax发送的就是字符串。
正确示例
示例一:网页中不指定contentType

再次请求,结果是:

示例二:ajax中使用contentType:“application/json”,data直接使用json字符串

后台能够获取到正确的数据:

示例三:ajax中使用contentType:“application/x-www-form-urlencoded”,data直接使用键值对

后台下面两种形式都可以:

或:

错误情况
示例1
网页ajax多加了contentType:“application/json”,data却错传成json对象:

后台处理:(employee该pojo对象里有username和password等String字段)

若在控制器方法的参数dept前加上@RequestBody或@RequestParam前端页面都会报xhr错误:


前端页面都会报xhr错误:

若在控制器方法的参数dept前加上@ModelAttribute都不能获取网页传来值,

示例2:ajax中没加contentType:“application/json”,data却直接使用了json字符串

后台获取不到数据:
