上一篇
场景引入:
凌晨3点,程序员小A盯着屏幕抓狂——表单提交后后端死活收不到数据😫,同事甩来一句:"你试试用Post Body传值?" 5分钟后,数据像坐了火箭般🚀直达服务器…今天我们就来揭秘这个前端开发的"暗号传递术"!
传统URL传参(?name=张三&age=18
)有三大硬伤:
而Post Body就像个加密快递箱📦:
const xhr = new XMLHttpRequest(); xhr.open("POST", "/api/login"); xhr.setRequestHeader("Content-Type", "application/json"); // 必须声明! xhr.send(JSON.stringify({ username: "码农小B", password: "******" }));
$.ajax({ url: "/api/upload", type: "POST", contentType: "application/json", // 关键头! data: JSON.stringify({ file: base64Data }), success: (res) => console.log("上传成功🎉") });
fetch("/api/comments", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ content: "太实用了!" }) }).then(res => res.json());
axios.post("/api/payment", { orderId: 12345, amount: 99.9 }, { headers: { "X-Custom-Header": "VIP" } // 自定义头 });
Content-Type三选一:
application/json
→ JSON字符串 multipart/form-data
→ 文件上传 application/x-www-form-urlencoded
→ 传统表单 后端配合姿势:
@RequestBody
接收 body-parser
中间件 file_get_contents('php://input')
调试技巧:
fetch("/api/audio", { method: "POST", body: new Uint8Array([0x48, 0x65, 0x6c, 0x6c, 0x6f]) });
{ "query": "{ user(id: 123) { name, posts { title } } }" }
2025年趋势:随着WebAssembly的普及,Body传值正在支持更复杂的实时流数据传输,比如直接传输视频编辑工程的中间数据。
下次当你纠结参数传递时,记得Body这个"万能快递员"📮!前端和后端说悄悄话,就该这么优雅~
本文由 窦晶滢 于2025-08-02发表在【云服务器提供商】,文中图片由(窦晶滢)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/513553.html
发表评论