众所周知,使用http进行post提交键值对时,可以使用表单提交的form data方式,也可以使用json方式,下面讲解使用axios进行这两种方式提交时的设置区别。

一.使用form表单提交的方式,应该将headers中的Content-Type类型设置为application/x-www-form-urlencode,这种POST请求会将data进行序列化,提交的数据会按照 key1=val1&key2=val2 的方式进行编码,其中的key和val都会进行URL转码。示例代码如下:

await axios.post(‘url’, {
‘regname’: ‘test@163.com’,
‘regsn’ : ‘ICQl3kdebh7zns97XVT9dLDBASR7pBrM2AAKbI7HpMw=’,
‘content’:aiContent
},{
headers:{
“Content-Type”: “application/x-www-form-urlencode; charset=utf-8;” //添加修改此处
}})

二.使用json格式,有时候后台代码接受body传送的是json格式的数据,所以前端应该将headers的Content-Type类型设置为application/json,此时的POST请求时,data不会被序列化。示例代码如下:

await axios.post(‘url’, {
‘regname’: ‘test@163.com’,
‘regsn’ : ‘ICQl3kdebh7zns97XVT9dLDBASR7pBrM2AAKbI7HpMw=’,
‘content’:aiContent
},{
headers:{
“Content-Type”: “application/json; charset=utf-8;” //添加修改此处
}})