关于axios方法将表单的数据传递给后端
用axios发送http请求到后端时,我们的数据格式是有多种选择的:根据我们对http请求头headers的设置,一种是application/json,一种是application/x-www-form-urlencoded。
前者是将数据以json对象的格式发送到后端,后者是将数据写在了url上,有点像get方法,但是post方法同样可以用x-www-form-urlencoded格式。
最大区别在于json数据是存放在request body中的,而x-www-form-urlencoded数据则是直接写在请求头中的。
x-www-form-urlencoded类型作为axios的data参数需要用qs.stringify()序列化一下。
所以我们对应后端的数据绑定也不同。
json数据在request body中,所以要在我们的controller类的方法参数中添加注解@RequestBody以此表明数据的位置,而且controller类参数方法必须是一个pojo类型,且前后端字段名要对应一样。
x-www-form-urlencoded则无需添注解,并且参数类型可以是分开的若干参数,也可以是pojo类型,不过前后端字段名要对应一样。