axios 发 get或post 请求,node.js后端接收不到参数问题

本文探讨了使用axios在Vue.js应用中发送GET和POST请求时,如何正确传递参数,以及Node.js后端如何正确接收这些参数。官方说明指出axios会自动处理数据转换。对于GET请求,参数应放在`params`对象中,后端通过`req.param`获取;对于POST请求,参数直接作为对象,后端则通过`req.body.paramName`来获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官方说明:

  • axios会帮我们 转换请求数据和响应数据 以及 自动转换 JSON 数据

在这里插入图片描述

  • 在 axios 源码中发现下面这段内容:(很关键)

在这里插入图片描述

Get方式正确传参,node.js后端获取参数

  1. axios请求方式:
    注意: 请求的参数写法是 { params: {orderId: this.orderId }}
      axios.get("/users/orderDetail", {params:{
        orderId: this.orderId
      }}).then((res)=>{
        if(res.data.status=='0'){
          this.orderTotal = res.data.result.orderTotal;
        }
      })
  1. node.js后端获取参数方式:
    切记: 接收get参数用的是req.param,不带s
router.get("/orderDetail",function (req,res,next) {
  let userId = req.cookies.userId;
  let orderId = req.param("orderId");//切记取得get传递的参数使用param,而不是params
  console.log(orderId);
  })

Post方式正确传参,node.js后端获取参数

  1. axios请求方式:
    注意: 请求的参数写法是{参数名:参数值} 即 {addressId: this.delAddressId}
axios.post("/users/deleteAddress", {addressId:this.delAddressId}).then((res) => {
          if (res.data.status == 0) {
            this.getAddressList();
            this.isMdShow = false;
          }
        })
  1. node.js后端获取参数方式:
    切记: 接收post参数用的是req.body.paramName
router.post("/payOrderForm",function (req,res,next) {
  let userId = req.cookies.userId;
  let addressId = req.body.addressId;
  let orderTotal = req.body.orderTotal;
  })
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值