软件系统定制开发Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported“【已解决】

软件系统定制开发出现这个问题的原因是,使用post软件系统定制开发方式提交时,后端使用@,表示接收json格式数据,软件系统定制开发然后前端发送post软件系统定制开发请求的时候,如果没有指定Content-Type类型的话,原生FORM表单的Content-Type默认为 “application/x-www-form-urlencoded”。所以导致后端接受不到值,如果后端用了@RequestBody注解接受参数的话,post请求一定要设置’Content-Type’: ‘application/json’,。

但是要注意了
axios 使用 post 发送数据时,默认是直接把 json 放到请求体中提交到后端的。也就是说,我们的使用axios发送请求时,Content-Type 变成了 application/json;charset=utf-8 ,这是axios默认的请求头content-type类型,在没有专门设置时,都是application/json

补充一下Axios请求头中常见的Content-Type常见的三种格式:

1.Content-Type: application/json
如果没有特别声明,appiationl/son是Asios默认的Content-ype,也是我最常用的一种,它声明了请求体中的数据将会以json字符串的形式发送到后端。所以,在情求的时候,需要将需要传给后台的数据JSON序列化即可。

2.Content-Type: application/
Content-Typeapplication/x-ww-form-urlencoded,则声明了请求体中的数据会以键值对(普通表单形式)发送到后端,这种类型是Ajax默认的。偶尔后端需要我要传键官⒅始给他们,那这个时候,就需要在头部设置headers: [ ‘Content-Type’:application/x-www-form-urlencoded’},

3.Content-Type: multipart/form-data
Content-Type:multipart/form-data,则一般用来上传文件,指定传输数据为二进制数据,也可以是键值对的形式。

大致意思就是你正常发起的一个请求,浏览器都会简单的将你提交的内容展示出来。所展示的内容只是因为Content-Iype设置的不同,而并不是因为数据提交方式的不同。如果一个请求的header设置为(Content-ypeaplication/son,那么激览器就会以Request Payoad来显示你的请求体,所以基本数据格式为SON对象,;如果一个请求被设置为method=-post’,并且请求的header设置为Content-Iypeasppicationpe ww-fom-urlencoded或者Content- ypemuliartfom-data,那么测览器就会以Request Payioad来显示你的请求体,所以基本数据格式为键值对,

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发