weixin_44587952 2021-11-17 18:06 采纳率: 66.7%
浏览 88
已结题

vue-resource post请求参数为数组,请求失败!

首先,我的普通post请求,请求参数是单个数值或多个数值,都成功了

this.$http.post(myip.ip.selected + "user/updateInfo", { roleid: this.formRU.roleid, userids: this.formRU.userids }
    , { emulateJSON: true }
).then((response) => {})

一旦数值中包含数组,就会失败,后端返回500错误
先不要下定论认为是后端的错误

事情是这样的:这个项目之前写好了,但后来前端代码丢失,只剩下部署包,我照着原先的网站重写原代码;结果到需要给后端发送数组参数时,部署好的网站上请求成功,而我现在重写的请求失败;但通过对比两者在浏览器控制台的请求,发现只有一个区别,就是 Form Data

img


图中上面是成功发送的 Form Data,下面则会报错500

顺带一提,假如我把 emulateJSON: true 去掉,Form Data 还会变成 userids: [8,1,2] ,多了一对中括号

还有后端接收方法

@RequestMapping({"updateInfo"})
    public JsonResult updateRoleUsers(Integer roleid, int[] userids) {  }

后端应该是没有问题的,考虑怎样才能把 Form Data 的数组数据格式改成图中上半一样
总之这个问题搞得我头大,求各位(禁止使用以下词汇)支个招

  • 写回答

4条回答 默认 最新

  • 你好!机器人 2021-11-17 18:19
    关注

    先把数组改成字符串再传上去
    const userids = userids.join(',')

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 11月26日
  • 已采纳回答 11月18日
  • 创建了问题 11月17日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。