Ajax
URL Query
Content-Type
Content-Type: application/x-www-form-urlencoded
- 浏览器原生表单默认格式
html<form action="/api/user" method="POST" enctype="application/x-www-form-urlencoded"> <input type="text" name="name" value="张三" /> <input type="number" name="age" value="30" /> <button type="submit">提交</button> </form>- axios 也可以传递
jsconst axios = require('axios'); const qs = require('qs'); // npm install qs const data = { name: '张三', age: 30 }; const params = new URLSearchParams(); for (const key in data) { params.append(key, data[key]); } const paramsData = qs.stringify(data) || params.toString() axios.post('http://localhost:3000/api/user', paramsData , { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }).then(res => console.log(res.data));- 数据浏览器显示位置:
- Form Data 👉 x-www-form-urlencoded 的请求体会显示在这里!
- 示例:name=张三&age=30
- curl抓包 --data-raw 'workOrderCode=3S11071609&a=1'
Content-Type: application/json 现代前后端接口的主流选择
Content-Type: multipart/form-data 表单含文件时的标准格式
Content-Type: application/octet-stream 上传下载流
对比 Query / x-www-form-urlencoded
- URL Query(路径中传参)
- x-www-form-urlencoded(请求体传参),参数放在 请求体(body) 中,而不是 URL
流对比
- Content-Type: application/octet-stream 👉 后端说:“我返回的是文件流。”
- responseType: 'blob' 👉 前端说:“我要以二进制方式接收。”