浅谈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 相关文章推荐
JS动态添加与删除select中的Option对象(示例代码)
Dec 25 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
Dec 30 Javascript
微信小程序 wxapp导航 navigator详解
Oct 31 Javascript
bootstrap fileinput完整实例分享
Nov 08 Javascript
vue图片加载与显示默认图片实例代码
Mar 16 Javascript
微信小程序 页面滑动事件的实例详解
Oct 12 Javascript
bootstrap select下拉搜索插件使用方法详解
Nov 23 Javascript
JS简单实现动态添加HTML标记的方法示例
Apr 08 Javascript
Angular ElementRef简介及其使用
Oct 01 Javascript
详解javascript设计模式三:代理模式
Mar 25 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
Apr 10 Javascript
微信小程序基础教程之worker线程的使用方法
Jul 15 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学习笔记之二
2011/01/17 PHP
php设计模式 Command(命令模式)
2011/06/26 PHP
PHP使用SOAP调用.net的WebService数据
2013/11/12 PHP
PHP按行读取文件时删除换行符的3种方法
2014/05/04 PHP
php传值赋值和传地址赋值用法实例分析
2015/06/20 PHP
php析构函数的简单使用说明
2015/08/24 PHP
magento后台无法登录解决办法的两种方法
2016/12/09 PHP
JavaScript开发时的五个注意事项
2007/12/08 Javascript
Js 回车换行处理的办法及replace方法应用
2013/01/24 Javascript
jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)
2014/05/11 Javascript
Nodejs全栈框架StrongLoop推荐
2014/11/09 NodeJs
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
兼容主流浏览器的JS复制内容到剪贴板
2014/12/12 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
2015/03/16 Javascript
js实现简单div拖拽功能实例
2015/05/12 Javascript
使用javascript将时间转换成今天,昨天,前天等格式
2015/06/25 Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
2016/07/15 Javascript
JavaScript中日期函数的相关操作知识
2016/08/03 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
简单实现jquery隔行变色
2017/11/09 jQuery
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
使用js实现一个简单的滚动条过程解析
2019/09/10 Javascript
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
python 对多个csv文件分别进行处理的方法
2019/01/07 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
2019/07/28 Python
pytorch中tensor张量数据类型的转化方式
2019/12/31 Python
Python之京东商品秒杀的实现示例
2021/01/06 Python
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
Easy Spirit官网:美国休闲鞋履中的代表品牌
2019/04/12 全球购物
大学毕业生通用自荐信范文
2013/10/31 职场文书
问卷调查计划书
2014/01/10 职场文书
售后服务经理岗位职责范本
2014/02/22 职场文书
感恩节活动策划方案
2014/05/16 职场文书
运动会闭幕式主持词
2015/07/01 职场文书
基于Python绘制子图及子图刻度的变换等的问题
2021/05/23 Python