Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
332 views
in Technique[技术] by (71.8m points)

前端如何传给后端一个JSON数组?

searchList是一个JSON数组,[{"id":"1","name":"A"},{"id":"2","name":"B"},{"id":"3","name":"C"},{"id":"4","name":"D"},{"id":"5","name":"E"}],后端controller如何接收

let params = new URLSearchParams();
params.append('infos', this.searchList);
this.axios({
    method: 'post',
    url: '*****',
    data: params,
}).then(function (response) {
    
}).catch(function (err) {
    
});

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

需要了解后端是json接收数据,还是formData接收数据的;看你的情况应该是formData接收;

axios使用formData传输写法:

import qs from 'qs'

//通过POST方式发送FormData格式的参数 的写法  
let data = await this.$http({//这里的 this.$http 就是axios 因为 我在vue原型上,挂载axios的时候,把axios改名为$http 了。
  url: 'xxxx',  //请求路径(接口)
  method: 'POST', //请求方式
  headers: { 'content-type': 'application/x-www-form-urlencoded' }, // 请求头,发送FormData格式的数据,必须是 这种请求头。
  data: qs.stringify({mobile: 'xxxx'}),  //发送请求要传的FormData参数。必须用 qs.stringify()序列化一下。
});
  1. content-type设置为application/x-www-form-urlencoded;
  2. data需要转qs.stringify;

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...