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

基于Vue的场景解决

场景-二次发送失败

场景描述

  • 描述
    • 给一个账户更新名称,第一次更新值后端返回已存在,然后修改,重新提交,但是这次都没有接口调用。
  • 流程
    • 点击提交后,表单数据formData有一个表单项payType是数组形式,校验后,将payType通过JSON序列化,然后调用接口,axios将请求打到后端。然后路由返回到上一个页面。
    • 当前页面已进入,在created中拉取数据,会将payType反序列化为数组。

技术背景

  • axios
  • json序列化和反序列化
  • promise
    • finally

方案解决

  • 表单项形式问题
    • 分析
      • 被卡了一个bug,关键在payType的形式,是序列化后还是反序列化。
      • 一般成功后,会直接到上一个页面,然后再次进入,会反序列化为数组形式。发送请求时,也会先序列化,但是若没有操作成功,也就是后端返回已存在相同值,不会返回上一个页面,payType保持为字符串形式,再次点击时,重新走序列化流程,会调用数组的map拼接一个字符串,但是字符串没有相关函数,然后就会报错,就不会走到发送请求这一步,所以没有调用接口。
    • 处理
      • 每次序列化之后,无论是否成功,还原为数组形式。
  • 请求数据格式问题
    • 分析
      • 在上面问题的处理中,我设置了在发送请求后,同步修改表单项payType,还原为数组形式,但是请求返回400错误,请求数据格式有问题,不是我预想的发送前的序列化之后的字符串形式,是数组形式。
      • 我将发送请求后的同步修改payType时,随便设置为任意数据,发送请求中的载体都是该任意数据。
      • 最后是formData传递的是个引用地址,axios网络库是异步发送的,在同步修改后,发送请求读取的该地址中的数据是修改后的。
    • 处理
      • 在请求返回的promise使用finally中还原数据,确保了正确的时序。

参考资料

  • application/json 四种常见的 POST 提交数据方式_application json-CSDN博客

http://www.dtcms.com/a/391735.html

相关文章:

  • 浅谈 Sui 的区块链隐私解决方案
  • ETF期权交易的基础知识是什么?
  • 连接管理模块的实现
  • AI 的耳朵在哪里?—— 语音识别
  • 微博舆情大数据实战项目 Python爬虫+SnowNLP情感+Vue可视化 全栈开发 大数据项目 机器学习✅
  • Dify笔记
  • 高精度维文OCR系统:基于深度学习驱动的实现路径、技术优势与挑战
  • 使用Python+Selenium做自动化测试
  • GESP C++ 三级 2025年6月真题解析
  • Linux系统多线程的互斥问题
  • Python 之监控服务器服务
  • el-select 多选增加全部选项
  • Day24 窗口操作
  • 5. Linux 文件系统基本管理
  • 【MySQL】GROUP BY详解与优化
  • 深度学习:DenseNet 稠密连接​ -- 缓解梯度消失
  • Linux DNS 子域授权实践
  • 团体程序设计天梯赛-练习集 L1-041 寻找250
  • mellanox网卡(ConnectX-7)开启SACK
  • 相机镜头靶面
  • 【语法进阶】gevent的使用与总结
  • Java优选算法——前缀和
  • ARM不同层次开发
  • 【Python】高质量解析 PDF 文件框架和工具
  • RSS-2025 | 无地图具身导航新范式!CREStE:基于互联网规模先验与反事实引导的可扩展无地图导航
  • RNA-seq分析之共识聚类分析
  • Linux开发——ARM介绍
  • Force Dimension Sigma力反馈设备远程遥操作机械臂外科手术应用
  • 泛函驻点方程与边界条件的推导:含四阶导数与给定边界
  • C#开发USB报警灯服务,提供MES或者其它系统通过WebAPI调用控制报警灯