解决“Required Integer parameter ‘xxx‘ is not present”问题

本文介绍了在使用Vue和axios进行POST请求时遇到的'Required Integer parameter ‘xxx‘ is not present'错误的解决方法。通过引入jQuery的$.param()或使用node环境中的qs库对数据进行转换,可以有效避免此类问题。对于GET请求出现相同错误,建议将所有数据存入一个对象并在请求中发送。

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

在使用axios发送post请求的时候,我们将需要发送的数据封装为一个obj对象,但是在浏览器报错。
在这里插入图片描述意思是必填的传输数据不正确,可能是没有填或者是错误。可以引入jQuery,或者使用node环境中自带的qs来进行一个数据转换。

get方法报以上错误请看文章最后

方法一:通用解决方法:使用jQuery引入
在html界面引入jQuery

<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

原代码:

mounted() {
    var obj = {
      page: this.page,
      pageSize: this.pageSize,
    };
    this.$axios.post("/customer/query", obj).then((res) => {
      console.log(res);
      console.log(res.data.data);
    });
  },

修改后,使用$.param()转换

mounted() {
    var obj = {
      page: this.page,
      pageSize: this.pageSize,
    };
    this.$axios.post("/customer/query", $.param(obj)).then((res) => {
      console.log(res);
      console.log(res.data.data);
    });
  },

再次尝试,就能获取到数据
在这里插入图片描述
方法二:使用npm搭建的vue-cli脚手架,已有node环境,使用自带qs。
在vue页面的srcipt标签内引入qs

import qs from "querystring";

用qs.stringify()将数据转换

 this.$axios.post("/customer/query", qs.stringify(obj)).then((res)=>{}

get方法出现以上错误时,可以先将所有传输的数据存放在一个object中,在get请求中发送obj即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值