当前位置: 首页 > news >正文

axios的get请求时数组参数没有下标

开发新项目过程中 发现get请求时 数组参数没有下标
在这里插入图片描述
这样肯定是不行的 后端接口需要数组[0]: 7 数组[1]:4这样的数据

原因是因为在请求拦截器没有处理需要的参数

解决方法 在请求拦截器 处理一下参数

import axios, { AxiosError, AxiosInstance, AxiosRequestHeaders } from "axios";
//request拦截器
service.interceptors.request.use((config) => {///-----------------------这里开始const params = config.params || {};const data = config.data || false;if (config.method?.toUpperCase() === "POST" &&(config.headers as AxiosRequestHeaders)["Content-Type"] ==="application/x-www-form-urlencoded") {config.data = qs.stringify(data);}// get参数编码if (config.method?.toUpperCase() === "GET" && params) {let url = config.url + "?";for (const propName of Object.keys(params)) {const value = params[propName];if (value !== void 0 &&value !== null &&typeof value !== "undefined") {if (typeof value === "object") {for (const val of Object.keys(value)) {const params = propName + "[" + val + "]";const subPart = encodeURIComponent(params) + "=";url += subPart + encodeURIComponent(value[val]) + "&";}} else {url += `${propName}=${encodeURIComponent(value)}&`;}}}// 给 get 请求加上时间戳参数,避免从缓存中拿数据// const now = new Date().getTime()// params = params.substring(0, url.length - 1) + `?_t=${now}`url = url.slice(0, -1);config.params = {};config.url = url;}///-----------------------这里结束return config;},(error: AxiosError) => {console.log(error);Promise.reject(error);}
);

加上以后就好了
在这里插入图片描述

http://www.lryc.cn/news/188278.html

相关文章:

  • bochs 对 Linux0.11 进行调试 (TODO: 后面可以考虑集成 vscode+gdb+qemu)
  • 一文告知HTTP GET是否可以有请求体
  • 防止SQL注入攻击的综合解决方案
  • MapReduce(林子雨慕课课程)
  • PHP聊天系统源码 在线聊天系统网站源码 后台自适应PC与移动端
  • 算法题:买卖股票的最佳时机 II (贪心算法解决股票问题)
  • Redis-持久化机制
  • 【LeetCode热题100】--155.最小栈
  • Allegro 17.2如何直接更新元件封装?
  • 高效数据管理:Java助力实现Excel数据验证
  • Easysearch Chart 0.2.0都有哪些变化
  • RV1126-RV1109-进入uboot的按键和名字显示-HOSTNAME
  • 学习vue-router
  • Python爬虫提高排名
  • SQL获取正数第N个或倒数第N个数据
  • 链表(2)——带头双向循环链表
  • C语言 函数指针
  • F. Vasilije Loves Number Theory
  • electron打包后主进程下载文件崩溃
  • Spring实例化源码解析之Custom Events下集(九)
  • python numpy库关键函数说明
  • 【Linux C】Linux如何执行一个程序(程序存储空间、系统调用、内核调用)
  • IP协议总结
  • 微信支付v2
  • tcpdump(二)命令行参数讲解(一)
  • 10_8C++
  • JVM篇---第七篇
  • 更新Xcode 版本后运行项目出现错误 Unable to boot the Simulator 解决方法
  • winform窗体控件太多显示不过来,怎么实现滚动条
  • WebSocket连接异常 Error parsing HTTP request header Connection reset by peer