使用 fetch 发送 PATCH 请求需设 method 为 "PATCH"(大写),根据后端要求配置 headers(如 JSON 用 application/json,表单用 application/x-www-form-urlencoded),body 须为合法类型(如 JSON.stringify() 或 URLSearchParams),并检查 response.ok 处理业务逻辑。

用 fetch 发送 PATCH 请求很简单,关键在于正确设置 method、headers 和 body,尤其注意请求体格式要和后端约定一致(比如 JSON 或表单数据)。
设置 method 为 "PATCH"
PATCH 是标准 HTTP 方法,fetch 原生支持,直接传入字符串即可:
-
method: "PATCH"必须大写,小写(如"patch")可能被某些服务端拒绝 - 不需要额外 polyfill 或库,现代浏览器都支持
正确配置 headers(尤其是 Content-Type)
后端通常依赖 Content-Type 解析请求体。常见场景:
- 传 JSON 数据:加
"Content-Type": "application/json" - 传表单字段(如修改用户名、邮箱):用
"Content-Type": "application/x-www-form-urlencoded",并用URLSearchParams序列化 - 上传文件或混合数据:一般用
FormData,此时不要手动设Content-Type(浏览器会自动设置带 boundary)
构造合适的请求体(body)
body 必须是 String、FormData、Blob、BufferSource 或 URLSearchParams —— 不能是普通对象。
立即学习“Java免费学习笔记(深入)”;
- JSON 示例:
body: JSON.stringify({ name: "张三", status: "active" }) - 表单示例:
body: new URLSearchParams({ email: "user@example.com" }) - FormData 示例:
const fd = new FormData(); fd.append("avatar", fileInput.files[0]); fetch(..., { body: fd })
处理响应与错误
PATCH 请求成功与否不看 HTTP 状态码是否为 2xx,而要看响应体内容或业务逻辑。建议:
- 检查
response.ok判断基础网络/状态码是否正常(true表示 200–299) - 用
response.json()或response.text()读取返回数据 - 捕获
fetch抛出的网络错误(如断网),但 4xx/5xx 不会进catch,需手动判断!response.ok


















