axios请求的问题

本来不想记录,但是实在没有办法,因为总是会出现post请求,后台接收不到数据的情况,还是记录一下如何的解决的比较好。
但是我使用export const addPsiPurOrder = data => request.post('/psi/psiPurOrder/add', data);
下面是封装的代码。后台接收不到数据.
1
出现问题的主要原因是java对象中如果有日期字段,且这些字段从前台传给后端,一定要加上下面的字段。需要加上下面的配置,
1

import axios, { AxiosRequestConfig, AxiosInstance } from 'axios'
import { baseURL } from '@/config/domain'
import { TokenName } from '@/config/const'
import { useAppStoreWithOut } from '@/store'
import { usePermission } from '@/hooks'
import router from '@/router'
import { localMng } from '@/utils/storage-mng'class Request {private baseConfig: AxiosRequestConfig = {baseURL,headers: {'Group':'xxxx','Tenat':'yyyy','source': 'zzzz',},timeout: 10000,}private instance: AxiosInstance = axios.create(this.baseConfig)public constructor() {const token = localMng.getItem(TokenName)if (token) {this.setHeader({Authorization: token,})} else {this.initInstance()}}private initInstance() {this.instance = axios.create(this.baseConfig)this.setReqInterceptors()this.setResInterceptors()}// 请求拦截器private setReqInterceptors = () => {this.instance.interceptors.request.use(config => {// const { checkApiPermission } = usePermission()config.cancelToken = new axios.CancelToken(function executor(c) {// if (!checkApiPermission(config.url)) {//   c(config.url + '没有权限')//   router.push('/error/forbidden')// }})// console.log(`%c++++++ 开始请求:${config.url} ++++++`, 'color:green')// console.log(config.data)// console.log(`%c++++++ end ++++++`, 'color:green')return config},err => {window.$message.error('请求失败')return Promise.reject(err)})}// 响应拦截器private setResInterceptors = () => {this.instance.interceptors.response.use(res => {let { success, code, body, msg } = res.dataif(success || (!code || code == 200 || code == '0000')){ code = 200 }switch (code*1) {case 200:console.log(res.data,'res');return Promise.resolve(body || res.data)case 40301:window.$message.warning(msg || '无权限')const appStore = useAppStoreWithOut()appStore.logout()return Promise.reject(res.data)default:window.$message.error(msg || '响应失败')return Promise.reject(res.data)}},err => {if (!axios.isCancel(err)) {window.$message.error('响应失败')}return Promise.reject(err)})}// 设置请求头public setHeader = (headers: any) => {this.baseConfig.headers = { ...this.baseConfig.headers, ...headers }this.initInstance()}// get请求public get = (url: string, data = {}, config: AxiosRequestConfig<any> = {}): Promise<any> =>this.instance({ url, method: 'get', params: data, ...config })// post请求public post = (url: string, data = {}, config: AxiosRequestConfig<any> = {}): Promise<any> =>{console.log({...config})return this.instance({ url, method: 'post', data, ...config });}public postForm = (url: string, data = {} , config: AxiosRequestConfig<any> = {}): Promise<any> => {config.headers  = {...this.baseConfig.headers,'Content-Type': "multipart/form-data"}return this.instance({ url, method: 'post', data, ...config })}public postJson = (url: string, data = {} , config: AxiosRequestConfig<any> = {}): Promise<any> => axios({...this.baseConfig,headers:{...this.baseConfig.headers,'Content-Type': "application/json;charset=utf-8"},url,method: 'post',data,...config,})// 不经过统一的axios实例的post请求public postOnlyFile = (url: string, data = {} , config: AxiosRequestConfig<any> = {}): Promise<any> =>axios({...this.baseConfig,headers:{...this.baseConfig.headers,'Content-Type': "application/x-www-form-urlencoded"},url,method: 'post',data,...config,})// put请求public put = (url: string, data = {}, config: AxiosRequestConfig<any> = {}): Promise<any> =>this.instance({ url, method: 'put', data, ...config })// 不经过统一的axios实例的get请求public postOnly = (url: string, data = {}, config: AxiosRequestConfig<any> = {}): Promise<any> =>axios({...this.baseConfig,url,method: 'post',data,...config,})public getOnlyFile = (url: string, data = {} , config: AxiosRequestConfig<any> = {}): Promise<any> =>axios({...this.baseConfig,url,method: 'get',responseType:'blob',params: data,...config,})public getOnly = (url: string, data = {}, headers , config: AxiosRequestConfig<any> = {}): Promise<any> =>axios({...this.baseConfig,headers:{...this.baseConfig.headers,...headers,},// this.baseConfig.headers:{ ...this.baseConfig.headers, ...headers },url,method: 'get',params: data,...config,})// delete请求public deleteBody = (url: string, data = {}, config: AxiosRequestConfig<any> = {}): Promise<any> =>this.instance({ url, method: 'delete', data, ...config })public deleteParam = (url: string, data = {}, config: AxiosRequestConfig<any> = {}): Promise<any> =>this.instance({ url, method: 'delete', params: data, ...config })
}export default new Request()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/169179.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

幼教早教内容付费预约小程序的效果如何

很多家庭对孩子的重视程度很高&#xff0c;尤其加之如今激烈竞争的市场&#xff0c;孩子从小便需要各种提前教育&#xff0c;而相关教培企业也比较多&#xff0c;基于服务高需求度&#xff0c;线下教育与线上课程教育同样重要。 在实际经营中&#xff0c;幼教早教培训机构也面…

“富婆”通讯录——让你少奋斗50年

文章目录 一、项目需求分析二、通讯录各功能实现思路及代码准备工作2.1、打印一个菜单&#xff0c;提供用户选择功能2.2、添加联系人信息2.3、删除联系人信息2.4、查询联系人信息2.5、修改联系人信息2.6、显示所有联系人信息2.7、对所有联系人信息进行排序整理2.8、删除所有联系…

[极客大挑战 2019]BuyFlag 1(两种解法)

题目环境&#xff1a; FLAG NEED YOUR 100000000 MONEY flag需要你的100000000元 F12瞅瞅源代码&#xff1a; if (isset($_POST[password])){ $password $_POST[password]; if (is_numeric($password)) { echo "password cant be number" } elseif ($pas…

【MySQL】列属性

文章目录 CHAR和VARCHAR插入单行 INSERT INTO插入多行插入分层行 LAST_INSERT_IN()创建表复制 CREAT TABLE AS更新单行 UPDATE...SET更新多行在UPDATES中使用子查询【需着重复习】删除行 DELETE恢复数据库到原始状态 CHAR和VARCHAR CHAR(50)&#xff1a;存储文本占5个字符&…

Git 命令详解

系列文章目录 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 C技能系列 期待你的关注哦&#xff01;&#xff01;&#xff01; 现在的一切都是为将来的梦想编织翅膀&#xff0c;让梦想在现实中展翅高飞。 Now everything is for the future of dream we…

【博士每天一篇文献-算法】Imposing Connectome-Derived Topology on an Echo State Network

阅读时间&#xff1a;2023-11-5 1 介绍 年份&#xff1a;2022 作者&#xff1a;Jacob Morra, Mark Daley 西部大学 期刊&#xff1a;2022 International Joint Conference on Neural Networks (IJCNN) 引用量&#xff1a;3 研究了果蝇连接图的拓扑结构对混沌时间序列预测中回…

MGA-WPA

作者未提供代码

YOLO目标检测——猫狗目标检测数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用&#xff1a;宠物识别、猫狗分类数据集说明&#xff1a;猫狗分类检测数据集&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富&#xff0c;含有猫和狗图片标签说明&#xff1a;使用lableimg标注软件标注&#xff0c;标注框质量高&#xff0c;含voc(xm…

【开源】基于Vue.js的智能停车场管理系统的设计和实现

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容A. 车主端功能B. 停车工作人员功能C. 系统管理员功能1. 停车位模块2. 车辆模块3. 停车记录模块4. IC卡模块5. IC卡挂失模块 三、界面展示3.1 登录注册3.2 车辆模块3.3 停车位模块3.4 停车数据模块3.5 IC卡档案模块3.6 IC卡挂…

Spring Boot中使用Spring Data JPA访问MySQL

Spring Data JPA是Spring框架提供的用于简化JPA&#xff08;Java Persistence API&#xff09;开发的数据访问层框架。它通过提供一组便捷的API和工具&#xff0c;简化了对JPA数据访问的操作&#xff0c;同时也提供了一些额外的功能&#xff0c;比如动态查询、分页、排序等。 …

ThinkPHP图片处理之压缩图片大小,图片处理之图片水印(添加平铺文字水印,并设置文字之间的间距和文字的角度)

安装扩展 使用Composer安装图像处理类库 composer require topthink/think-image在对应的控制器内引入Image use think\Image;图片处理之压缩图片大小 public function upload(){$file request()->file(image);// 将前端传过来的图片移动到项目目录下$info $file->…

PostgreSQL 技术内幕(十一)位图扫描

扫描算子在上层计算和底层存储之间&#xff0c;向下扫描底层存储的数据&#xff0c;向上作为计算的输入源&#xff0c;在SQL的执行层中&#xff0c;起着关键的作用。顺序、索引、位图等不同类型的扫描算子适配不同的数据分布场景。然而&#xff0c;扫描算子背后的实现原理是怎样…