JavaScript中如何使用Fetch发送PATCH请求修改数据
时间:2026-08-18 | 作者:穿越地图的猫 | 阅读:0用 Fetch 发 PATCH 请求时,method 必须明确写成 "PATCH",同时把 Content-Type 指定为 application/json;请求体需要先通过 JSON.stringify() 做序列化。
若接口带认证,还得补上 Authorization header。拿到响应后,别只顾着取数据,先检查 status 和 ok 这两个属性;尤其是遇到 204 状态时,不要再去解析 JSON。
Fetch 发送 PATCH 请求和发送 POST 或 PUT 类似,关键是正确设置 method 为 "PATCH",并确保请求头,特别是 Content-Type,与后端期望的一致。
明确指定 method 和 Content-Type
PATCH 不是默认方法,必须显式声明。多数 REST API 接收 JSON 数据,所以通常要设 Content-Type: application/json。
- method: "PATCH" —— 必须小写字符串,不能写成
Patch或patch - headers 中带上
{"Content-Type": "application/json"},否则后端可能无法解析请求体 - 请求体用
JSON.stringify()转成字符串,再传给body选项
带认证或自定义 Header 的情况
如果接口需要登录态,比如 Bearer Token,记得把 token 加到 headers 里。
- 常见做法是读取 localStorage 或变量中的 token
- header 示例:
{"Authorization": "Bearer abc123", "Content-Type": "application/json"} - 注意:token 过期会导致 401,建议配合错误处理统一拦截
处理响应和错误
PATCH 成功时一般返回 200 或 204,但也要检查 response.ok 或状态码,避免只靠 then 链。
- 用
if (!response.ok) throw new Error(...)主动抛错 - 对 204 响应(无返回体),调用
response.json()会失败,可先判断response.status !== 204 - 捕获网络错误(如离线)和业务错误(如 400、404)需分开处理
完整示例代码
修改用户邮箱的典型 PATCH 请求:
fetch("/api/users/123", {
method: "PATCH",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
},
body: JSON.stringify({ email: "new@example.com" })
})
.then(res => {
if (!res.ok) throw new Error(`HTTP ${res.status}`);
return res.status === 204 ? null : res.json();
})
.then(data => console.log("更新成功", data))
.catch(err => console.error("更新失败", err));
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- JavaScript正则表达式批量处理HTML标签转义与替换方法
- 时间:2026-08-21
-
- JavaScript函数默认参数的精准JSDoc类型注解方法
- 时间:2026-08-21
-
- JavaScript设置Cookie的SameSite属性防范CSRF攻击
- 时间:2026-08-21
-
- JavaScript中BOM如何打开新的浏览器窗口标签
- 时间:2026-08-20
-
- JavaScript微任务队列在事件循环中的执行机制
- 时间:2026-08-20
-
- JavaScript中网络超时如何用流程控制实现中断
- 时间:2026-08-20
-
- JavaScript防抖函数原理与减少高频事件触发方法
- 时间:2026-08-20
-
- TypeScript六个颠覆认知的核心知识点解析
- 时间:2026-08-20
精选合集
更多大家都在玩
大家都在看
更多-
- 以下哪种食材被称为“地下苹果” 蚂蚁庄园今日答案9.18
- 时间:2026-09-17
-
- 蚂蚁庄园今天答题答案2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园答题今日答案2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园小课堂2026年9月18日最新题目答案
- 时间:2026-09-17
-
- 小鸡答题今天的答案是什么2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园每日答题答案2026年9月18日
- 时间:2026-09-17
-
- 蔬菜洗完掉色,说明是被染色了,是真的吗 蚂蚁庄园今日答案9月18日
- 时间:2026-09-17
-
- 满襟蜡绘花纹巧染就花纹当绣裳说的是哪种传统技艺 蚂蚁新村今日答案2026.9.17
- 时间:2026-09-17
