requst payload和query string parameters

很多人经常遇到这个问题,自己明明发起了post请求,为什么参数还是拼接在在了api端口后面,而且参数不是requst payload而是query string parameters。排查半天找不到其实很简单,往往是最简单的最有迷惑性

在使用某些 HTTP 库(如 Axios)时,params 会将参数拼接到 URL 上(变成 Query String),而 data 才是放在请求体(Request Payload)里的。

✅ 正确做法:

js 复制代码
axios.post('/api/endpoint', {
  name: 'Alice',
  age: 25
})
// 或显式指定 data
axios({
  method: 'post',
  url: '/api/endpoint',
  data: {    // ←←← 这里放请求体内容(Request Payload)
    name: 'Alice',
    age: 25
  }
})

❌ 错误做法(变成了 Query String):

js 复制代码
axios({
  method: 'post',
  url: '/api/endpoint',
  params: {  // ←←← 这会变成 /api/endpoint?name=Alice&age=25
    name: 'Alice',
    age: 25
  }
})

💡 新手常见误区

属性 效果 属于
params 参数加到 URL 上,成为 ?key=value&... Query String Parameters
data 参数放到请求体中 Request Payload(POST/PUT 数据主体)

🔑 所以:POST + data = 真正的 Request Payload


🚫 别再犯:

  • POST 请求用 params 发主要数据 ❌- 后端用 req.body 却前端用 params ❌
  • 看请求时只关注方法不看 payload / query ❌

✅ 最终建议:

如果你的 POST 请求需要传数据到 Request Payload:

就用 .post(url, data) 或者 { data: ... },别用 params

相关推荐
曹牧3 小时前
C#:空合并运算符
java·前端·数据库
小羊没烦恼!4 小时前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
智能直播6 小时前
RK3518:1.5G 内存 + 8G 存储,如何跑起硬件编解码、Web、AI 识别、绿幕特效
前端·人工智能·5g
掘金酱8 小时前
【10.24 特别活动】AI 时代,程序员的新饭碗在哪里?
前端·人工智能·后端
excel8 小时前
多进程环境下使用 PM2 部署 Socket.IO:需要注意什么
前端
IT_陈寒8 小时前
Redis的原子性竟然失效了?记一次分布式锁翻车实录
前端·人工智能·后端
_菜鸟果果10 小时前
高德地图 JS API 2.0 在国产 Linux/ARM 电脑上渲染失败 的排查与解决
linux·开发语言·javascript
时间的情敌10 小时前
《回顾 2018 前端:Vue2 成熟期,Webpack4 发布,PWA 大火》
前端
Java后端的Ai之路10 小时前
前端技术Vue-09-webpack-vuejs-实战
前端·vue.js·webpack