1. GET 请求(带参数)
- URL拼接优化:使用
URLSearchParams
自动编码特殊字符,避免手动处理:const params = new URLSearchParams({ page: 1, limit: 10, keyword: '测试' }); fetch(`/api/data?${ params}`) .then(response => response.json()) .then(data => console.log(data));
- 手动编码场景:若需手动拼接 URL,使用
encodeURIComponent
:const keyword = encodeURIComponent('测试&特殊字符'); fetch(`/api/search?keyword=${ keyword}`);
2. POST 请求(JSON 格式)
- Content-Type 必须设置:未设置会导致服务器无法解析 JSON:
fetch('/api/submit', { method: 'POST', headers: { 'Content-Type': 'application/json' // 必须明确指定 }, body: JSON.stringify({ name: 'Alice', age: 25 }) });
二、处理不同请求数据格式的注意事项
1. x-www-form-urlencoded
格式
- 编码规则:
URLSearchParams
自动处理空格(转为+
)和特殊字符编码:const formData =