?传参
格式:
http://www.baidu.com?name=123&age=12
参数直接跟在 URL 后面
json body
这种传参方式一般用于 POST 请求
格式:
http://www.baidu.com
请求体:
{
name: 123,
age: 12
}
打开浏览器可以看到 body 被解析为 JSON 格式,且名字为请求负载
formdata 传参
这种传参方式一般也用于 POST,URL 中无法看到请求参数
格式:
请求头需要指定:
headers: {
"Content-Type": "application/x-www-form-urlencoded",
// "Content-Type": "multipart/form-data",
},
请求体和 ?传参一样:
a=xxx&b=xxx
示例
// fetch 请求表单
fetch("api/xxx", {
body: new FormData(document.getElementById("form")),
headers: {
"Content-Type": "application/x-www-form-urlencoded",
// "Content-Type": "multipart/form-data",
},
method: "post",
}
// axios 请求
axios.post('/api/xxx', 'a=' + a + '&b=xx')
可以看到,axios 请求时第二个参数从对象改为了字符串。