VUE Form表单传参时,json格式转Form Data格式

news/2024/7/9 23:36:21 标签: vue

VUE Form表单传参时,json格式转Form Data格式

最近做了一个项目,form表单传参,之前传参都是v-model双向绑定,然后在data里面定义,把绑定的属性名传过去就行啦,在做这个项目的时候,后台要求传递的参数是form data的形式,而不是json的形式,所以要把json的格式转换成form data的格式

下面来说下是如何转换的

我们在请求接口的时候需要传递参数,在传参数之前,直接把参数转换成form data的格式 然后直接传进去就行啦

const sele = this
var newFormData = new FormData()
      newFormData.append('card', self.retrieval.card)
      newFormData.append('company', self.retrieval.company)
      newFormData.append('companyType', self.retrieval.companyType)
      newFormData.append('dealStatus', self.retrieval.dealStatus ? self.retrieval.dealStatus : '')
      newFormData.append('department', self.retrieval.department)
      newFormData.append('email', self.retrieval.email ? self.retrieval.email : '')
      newFormData.append('followStatus', self.retrieval.followStatus)
      newFormData.append('mobile', self.retrieval.mobile)
      newFormData.append('position', self.retrieval.position)
      newFormData.append('realName', self.retrieval.realName)
      newFormData.append('remark', self.retrieval.remark ? self.retrieval.remark : '')
      newFormData.append('userId', self.retrieval.userId)
      newFormData.append('updateRealName', self.retrieval.updateRealName ? self.retrieval.updateRealName : '')
      newFormData.append('updateCompany', self.retrieval.updateCompany ? self.retrieval.updateCompany : '')
      newFormData.append('updateDepartment', self.retrieval.updateDepartment ? self.retrieval.updateDepartment : '')
      newFormData.append('updatePosition', self.retrieval.updatePosition ? self.retrieval.updatePosition : '')
      newFormData.append('userType', self.retrieval.userType)
      newFormData.append('updateEmail', self.retrieval.updateEmail ? self.retrieval.updateEmail : '')
      axios.post('/person/savePersonInfo', newFormData).then(res => {
        if (res.code === '0') {
          this.$message.success(res.msg)
        } else {
          this.$message.error(res.msg)
        }
        // this.keepLoading = false
      })

最后详细介绍

首先呢,为了不改变this的指向,我们先声明一个变量去接受他,然后用这个变量去代替我们的this,接着我们在请求接口的函数中,new一个FormData实例,然后在通过append()的方法,把参数追加到我们声明的变量中,把这个变量当做参数传就去就可以啦

在这里插入图片描述

最后的格式
在这里插入图片描述


http://www.niftyadmin.cn/n/1836002.html

相关文章

由“Jasperrpeorts 4.1.2升级到5.1.2对flex项目的解析”到AS3 带命名空间的XML的操作...

原文同步至:http://www.waylau.com/from-jasperrpeorts-4-1-2-upgraded-to-5-1-2-parsing-of-flex-projects-to-the-as3-namespace-xml-operation/ 项目中,对Jasperrpeorts-4.1.2核心包进行了升级,发现,前端flex无法对Jasperrpeor…

发牌区代码-已经完成

本代码主要实现了纸牌的出牌动画。鼠标选中的牌前置,定义的牌可以任意指定大小,程序里面是5张,给每张牌定义了鼠标点击事件。 using System; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using S…

拥抱重构

惧怕重构 提到让你重构一个功能模块,提到让你去修改一个别人的bug,阅读别人的代码,你第一反应是什么?惧怕?想骂人?面对一个代码垃圾场,我想大家都会有些不安,尤其是面对测试团队,上线…

Python核心编程--Python基础

2019独角兽企业重金招聘Python工程师标准>>> Python基础部分的读书笔记: 转载于:https://my.oschina.net/flynewton/blog/7771

用户控件(.ascx)与网页间(.aspx)如何传值的几种方法

1.aspx文件:public void SetLabel(string str) { this.Label1.Text str; ; } ascx文件;protected void Button1_Click(object sender, EventArgs e) { System.Web.UI.Page p this.Page; Type pageType p.GetType(); MethodInfo mi pa…

准备Java面试一个月,倒计时之Java基础01

1.线程如何同步和通讯?: 同学回答说synchronized方法或代码块!面试官似乎不太满意! 只有多个synchronized代码块使用的是同一个监视器对象,这些synchronized代码块之间才具有线程互斥的效果,假如a代码块用obj1作为监视器对象&…

JS:实用功能

ylbtech-jQuery&#xff1a;函数-导航添加样式(addClass)、移除样式(removeClass)轮替函数(toggle())选项拼加全选网页刷点器jQuery&#xff1a;3.1&#xff0c;添加样式(addClass)、移除样式(removeClass) 返回顶部<meta http-equiv"Content-Type" content"…