首页 > 其他分享 >get请求如何传递数组参数

get请求如何传递数组参数

时间:2023-01-05 11:11:06浏览次数:70  
标签:qs arrayFormat 插件 get stringify tag 数组 请求

问题

当我们需要通过get方式传递一个数组作为参数 tag:[1,2,3,4]

预期是解析为:https://www.cnblogs.com/enter?tag=1&tag=2&tag=3&tag=4

然而真相是这样的:https://www.cnblogs.com/enter?tag[]=1&tag[]=2&tag[]=3&tag[]=4,后台是不可能解析到传递的参数。

解决方案

qs插件

安装插件

npm install qs

引入插件

import qs from "qs"

使用插件

1、qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' })
// 输出结果:'a[0]=b&a[1]=c'
2、qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' })
// 输出结果:'a[]=b&a[]=c'
3、qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' })
// 输出结果:'a=b&a=c'
4、qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'comma' })
// 输出结果:'a=b,c'

axios配置

axios.interceptors.request.use(async (config) => {
//只针对get方式进行序列化
 if (config.method === 'get') {
   config.paramsSerializer = function(params) {
     return qs.stringify(params, { arrayFormat: 'repeat' })
   }
 }
}

参考:https://www.cnblogs.com/kingreatwill/p/12641238.html

标签:qs,arrayFormat,插件,get,stringify,tag,数组,请求
From: https://www.cnblogs.com/vickylinj/p/17026977.html

相关文章

  • Redis企业云如何通过缓存轻松扩展到亿级请求?
    你是否在春运抢票过程中遇到12306APP瘫痪?你是否在双十一抢好物的时候显示系统繁忙?你是否在微博刷某个爆了的娱乐新闻时显示页面走丢了?前几天热搜上好像又说小红书又崩溃......
  • 自学Linux,你需要get哪些点?
    近些年来,Linux操作系统越来越受欢迎,它的开源、免费是亮点也是优点,并且稳定性和安全性也得到认可,还有Linux有很多版本供大家选择,可以定制化。据我所知,现在很多公司的开发项目......
  • tomcat 如何实现request请求绑定
    示意图简述1. 请求进入NioEndpoint,找到协议Handler,2. 创建Http11Processor,填充request对象3. 触发CoyoteAdapter将request、response送入下一环节处......
  • js 判断数组是否有重复数据
    博客链接:https://www.cnblogs.com/jameshappy/archive/2013/07/22/3207404.html在vue项目我用的是第二种方法letlist=dataList.map((d)=>d.khId+d.productCode);......
  • 1_使用swiper数组对象循环图片遇到的问题
    今天在练习微信小程序的swiper组件时,想用列表循环出图片,发现图片一直没出来,控制台也没有报错,后来仔细一看,原来是语法格式写错了。以下是我列表循环踩过的坑:一:微......
  • [LeetCode] 2453. Destroy Sequential Targets
    Youaregivena 0-indexed array nums consistingofpositiveintegers,representingtargetsonanumberline.Youarealsogivenaninteger space.Youhave......
  • scrapy 的post请求
      importscrapyimportjsonclassTestpostSpider(scrapy.Spider):name='testpost'allowed_domains=['https://fanyi.baidu.com/sug']#post......
  • 【LeeCode】152. 乘积最大子数组
    【题目描述】给你一个整数数组 ​​nums​​ ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。测试用例的答案是一个 32......
  • 1802. 有界数组中指定下标处的最大值
    1802.有界数组中指定下标处的最大值classSolution{publicintmaxValue(intn,intindex,intmaxSum){intl=1,r=(int)1e9;while(l......
  • 客户端指定不同的vip/域名/F5地址来实现按规则请求不同的集群
    假设后端分为了多个集群,比如A集群它处理用户id是求模100等于0的所有用户,并且它连的分库分表的数据也是用户id求模100等于0的所有用户;那么这个A集群的对外地址aaa就可以打......