理论基础
在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字符串
后台获取不到数据: