浅谈vue中get请求解决传输数据是数组格式的问题


Posted in Javascript onAugust 03, 2020

qs的stringify接收2个参数,第一个参数是需要序列化的对象,第二个参数是转化格式,一般默认格式是给出明确的索引,如:arr[0]=1&arr[1]=2

//indices是index的复数格式,因此indices是索引的意思
//bracket是括号的意思,因此arrayFormat:'brackets'代表数组下标为空[]

qs.stringify({ arr: [1,2,3] }, { indices: false }) //arr=1&arr=2&arr=3
qs.stringify({ arr: [1,2,3] }, { arrayFormat: 'indices' }) //arr[0]=1&arr[1]=2&arr[2]=3
qs.stringify({ arr: [1,2,3] }, { arrayFormat: 'brackets' }) //arr[]=1&arr[]=2&arr[]=3
qs.stringify({ arr: [1,2,3] }, { arrayFormat: 'repeat' }) //arr=1&arr=2&arr=3

qs的parse()使用

如果接口需要获取get请求接口的请求数据,可以使用parse(),将拼接在地址的参数数据转换为对象

let url = "111.111.3.203:8080/getList?id=1&name=huahua&arr=a&arr=b"
let splitObj = url.split('?')[1]
qs.parse(splitObj )  //{ id: '1', name: 'huahua', arr: ['a','b'] }

qs.stringify和JSON.stringify的区别

let obj = { a: 1, b: 2 }
qs.stringify(obj)  //a=1&b=2
JSON.stringify(obj) // "{'a': 1, 'b': 2}"

qs解决数组参数问题

安装axios,qs

npm install qs

npm install axios -S

在main.js中引入qs

import Vue from 'vue'
import qs from 'qs'
import axios from 'axios'
Vue.prototype.$qs = qs;  //qs全局挂载在vue实例上
Vue.prototype.$http = axios; //axios全局挂载在vue实例上

在组件中使用

get请求的请求参数是将数据放在config的params中,实际是通过“&”拼接在url上

如果请求参数是数组arr=[1,2,3],get请求不对数组做任何处理,则传递给后端的接口是

"url地址?arr[]=1&arr[]=2&arr[]=3",接口会报错,因为识别不了“[]”这个符号

需要对数组进行修改,需要通过qs的stringify()方法将数组序列化,则传递给后端的接口是 “url地址?arr=1&arr=2&arr=3”,接口不会报错

this.arr = [1,2,3]
//写法一,直接使用qs的stringify()
this.$http.get('url地址', {
 params: {
 arr: this.$qs.stringify(this.arr)  //数组拼接在url地址 url地址?arr=1&arr=2&arr=3
 }
}).then(() => {
}) 

//写法二 ,使用axios提供的paramsSerializer序列化函数
this.$http.get('url地址', {
 params: {
 arr: this.arr  //数组拼接在url地址 url地址?arr=1&arr=2&arr=3
 },
 paramsSerializer: (params) => {
 return this.$qs.stringify(params) 
 }
}).then(() => {
})

以上这篇浅谈vue中get请求解决传输数据是数组格式的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用javascript实现点击链接弹出"图片另存为"而不是直接打开
Aug 15 Javascript
改进UCHOME的记录发布,增强可访问性用户体验
Jan 17 Javascript
详细分析JavaScript函数定义
Jul 16 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
Mar 18 Javascript
基于javascript制作经典传统的拼图游戏
Mar 22 Javascript
微信小程序 swiper组件轮播图详解及实例
Nov 16 Javascript
浅谈JS对html标签的属性的干预以及对CSS样式表属性的干预
Jun 25 Javascript
React Native仿美团下拉菜单的实例代码
Aug 08 Javascript
Vue2几种常见开局方式详解
Sep 09 Javascript
jQuery.Sumoselect插件实现下拉复选框效果
Nov 09 jQuery
setTimeout与setInterval的区别浅析
Mar 23 Javascript
微信小程序的授权实现过程解析
Aug 02 Javascript
VUE使用axios调用后台API接口的方法
Aug 03 #Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
Aug 03 #Javascript
js数组中去除重复值的几种方法
Aug 03 #Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
Aug 03 #Javascript
javascript运行机制之执行顺序理解
Aug 03 #Javascript
解决vue+elementui项目打包后样式变化问题
Aug 03 #Javascript
vue实现PC端分辨率适配操作
Aug 03 #Javascript
You might like
php实现快速排序法函数代码
2012/08/27 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
2015/11/05 PHP
PHP获取客户端及服务器端IP的封装类
2016/07/21 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
js 调整select 位置的函数
2008/02/21 Javascript
jQuery prev ~ siblings选择器使用介绍
2013/08/09 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
深入理解javascript中的立即执行函数(function(){…})()
2014/06/12 Javascript
JavaScript中的Math.atan2()方法使用详解
2015/06/15 Javascript
原生js实现移动端瀑布流式代码示例
2015/12/18 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
2017/04/11 jQuery
php main 与 iframe 相互通讯类(js+php同域/跨域)
2017/09/14 Javascript
在Bootstrap开发框架中使用dataTable直接录入表格行数据的方法
2018/10/25 Javascript
js实现京东秒杀倒计时功能
2019/01/21 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
2019/09/12 Javascript
vue自动添加浏览器兼容前后缀操作
2020/08/13 Javascript
[28:05]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第一场 10月30日
2020/10/31 DOTA
python异步任务队列示例
2014/04/01 Python
Python实现将SQLite中的数据直接输出为CVS的方法示例
2017/07/13 Python
python编程实现随机生成多个椭圆实例代码
2018/01/03 Python
pandas string转dataframe的方法
2018/04/11 Python
10分钟教你用Python实现微信自动回复功能
2018/11/28 Python
Python3.5 处理文本txt,删除不需要的行方法
2018/12/10 Python
用Python写一个自动木马程序
2019/09/17 Python
整理HTML5中表单的常用属性及新属性
2016/02/19 HTML / CSS
新加坡时尚网上购物:Zalora新加坡
2016/07/26 全球购物
犹他州最古老的体育用品公司:Al’s
2020/12/18 全球购物
怎么写好自荐信
2013/10/30 职场文书
工厂厂长的职责
2013/12/12 职场文书
社团文化节邀请函
2014/01/10 职场文书
学雷锋先进个人事迹
2014/05/26 职场文书
师范生见习自我总结
2015/06/23 职场文书
2019年入党思想汇报
2019/03/25 职场文书