fetch api 发送 put 和 delete 请求需正确设置 method 选项,put 需配置 headers 和 body(含 content-type 及 json 字符串),delete 一般无需 body 和 content-type;状态码判断应使用 res.ok 而非仅依赖 200。

Fetch API 发送 PUT 和 DELETE 请求和 GET、POST 类似,关键在于正确设置 method 选项,并根据需要配置 headers 和 body(PUT 通常需要,DELETE 一般不需要)。
发送 PUT 请求:更新资源
PUT 用于完整替换某个资源,需提供完整的更新数据,且必须设置 Content-Type 头(如 JSON)。
- 用
JSON.stringify()将 JavaScript 对象转为字符串 - 显式设置
headers: { 'Content-Type': 'application/json' } - 确保后端支持 PUT 方法并能解析 JSON
示例:
fetch('/api/users/123', {method: 'PUT',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '张三',
email: 'zhang@example.com'
})
})
.then(res => {
if (!res.ok) throw new Error(`HTTP ${res.status}`);
return res.json();
})
.then(data => console.log('更新成功:', data));
发送 DELETE 请求:删除资源
DELETE 一般不带请求体(body),只需指定 URL 和 method。部分 API 可能要求传参(如 query 参数或轻量 body),但非标准做法。
- 通常无需设置
Content-Type或body - 若需传递参数,优先使用 URL 查询字符串(如
/api/posts/456?force=true) - 注意:有些服务端框架默认不接受 DELETE 带 body,应避免随意添加
示例:
fetch('/api/posts/456', {method: 'DELETE'
})
.then(res => {
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log('删除成功');
})
.catch(err => console.error('删除失败:', err));
常见注意事项
实际开发中容易忽略的细节:
-
状态码判断不能只看 200:用
res.ok(等价于res.status >= 200 && res.status )更稳妥 -
CORS 问题:DELETE/PUT 可能触发预检请求(OPTIONS),确保服务端正确响应 CORS 头(如
Access-Control-Allow-Methods) -
错误处理要主动:fetch 不会因 HTTP 错误状态(如 404、500)抛异常,需手动检查
res.ok或res.status -
认证头别遗漏:如有 token,记得在 headers 中加上
'Authorization': 'Bearer xxx'
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











