- 今天修改页面提交保存数据的时候后台控制台提示了这样的错误信息:Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported。
- 没有修改之前的表单提交的方式是:$('#formData').submit()。
- 在网上查询资料说是缺少了这一句:contentType:"application/json"
- 后面将表单数据提交的方式改为如下代码所示:
$.ajax('/unListed.update',{
data:JSON.stringify({
organizer:$('').val()
}),
contentType:"application/json",
datatype:"json",
type:"post"
})
这个时候后台控制台提示了另外一种错误:java.lang.NullPointerException
通过同事的帮助,了解到时因为后台代码对传递过去的值进行了限定,才会提示空指针异常。
知识点:
- 后台有两种数据接收格式:json,模型绑定(实体类)。
- 使用json格式接收数据的话,前台要通过ajax将表单数据进行提交;contentType:"application/json",不能少。通过它来告诉后台数据内容的的返回格式是json,后台的数据要进行json系列化处理。没有这一句的话前台页面就会按照页面上方式进行处理导致报错。
- 使用模型绑定,前端页面可以通过ajax直接提交data数据,不进行json字符串处理,后台通过模型自己进行匹配。