Vue 提交表单[通俗易懂]

Vue 提交表单[通俗易懂]1、form标签@submit.prevent=”submit($event)”<form@submit.prevent=”submit($event)”><inputtype=”text”class=”form-control”placeholder=”请输入姓名”name=”username”><inputtype=”s…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1、form标签 @submit.prevent=”submit($event)”

<form @submit.prevent="submit($event)">

    <input type="text" class="form-control" placeholder="请输入姓名" name="username">

    <input type="submit" value="登陆" class="login" />

</form>
methods:{
    submit: function(event) {

        var formData = new FormData(event.target);
        
        //vue-resource
        this.$http.post('/api', formData).then(res => {
              // success callback
          }, err => {
              // error callback
        });
        
        //axios
        axios.post('/user', formData).then(res => {
            // success callback
        }).catch(err => {
            // error callback
        });
    }
}

2、formData.append()

设置参数格式

  •  application/json 

axios默认提交格式;传递到后台的将是序列化后的json字符串,格式为JSON格式

格式:{“name”: “sun”}

  •  multipart/form-data

用表单上传文件时,必须使form表单的enctype属性或者ajax的contentType参数等于multipart/form-data

格式:Contnet-Disposition: form-data; name=sun

不同字段以--boundary开始,接着是内容描述信息,最后是字段具体内容。

如果传输的是文件,还要包含文件名和文件类型信息

  •  text/XML 

  • application/x-www-form-urlencoded 

​​​​​​​表单默认提交方式;传递到后台的将是key-value的形式

格式:name: sun

 <form>
        <input type="text" value="" v-model="name" placeholder="请输入用户名">
        <input type="text" value="" v-model="age" placeholder="请输入年龄">
        <input type="file" @change="getFile($event)">
        <button @click="submitForm($event)">提交</button>
  </form>
methods:{
    submit: function(event) {

        event.preventDefault();

        let formData = new FormData();

        //下面是表单绑定的data 数据
        formData.append('name', this.name);
        formData.append('age', this.age);
        formData.append('file', this.file);
        
        //vue-resource
        this.$http.post('/api', formData).then(res => {
              // success callback
          }, err => {
              // error callback
        });
        
        //axios

        //根据后台接收参数格式进行修改
        let config = {
             headers: {
               'Content-Type': 'multipart/form-data'
             }
         }
        
        axios.post('/api',formData, config).then(res => {
            // success callback
        }).catch(err => {
            // error callback
        });
    }
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184943.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 手机框架_移动端框架_跨平台_汇总_哪个好[通俗易懂]

    uni-app【重点推荐】是一个使用Vue.js开发跨平台应用的前端框架,开发者编写一套代码,到7个平台,Android版iOS版H5版微信小程序版支付宝小程序版百度小程序版头条小程序版https://uniapp.dcloud.io/DCloud即数字天堂(北京)网络技术有限公司是W3C成员及HTML5中国产业联盟发起单位,旗下产品:…

    2022年4月12日
    42
  • Django(67)drf搜索过滤和排序过滤

    Django(67)drf搜索过滤和排序过滤前言当我们需要对后台的数据进行过滤的时候,drf有两种,搜索过滤和排序过滤。搜索过滤:比如我们想返回sex=1的,那么我们就可以从所有数据中进行筛选排序过滤:比如我们想对价格进行升序排列,就可以

    2022年7月30日
    8
  • 怎么开发一个简单的小程序_微信小程序编写教程

    怎么开发一个简单的小程序_微信小程序编写教程做任何程序开发要首先找到其官方文档,我们先来看看其有哪些官方文档。微信小程序开发文档链接为:https://mp.weixin.qq.com/debug/wxadoc/dev/index.html,如下图:这里就是做微信小程序开发的全部官方文档。知道了文档的位置,下面我们来介绍下如何做一个微信小程序开发:第一步:下载微信小程序开发者工具并安装,下载路径:https://mp.weix…

    2022年9月17日
    4
  • seekg()与tellg()用法详解

    seekg()与tellg()用法详解对输入流操作:seekg()与tellg()对输出流操作:seekp()与tellp()下面以输入流函数为例介绍用法:seekg()是对输入文件定位,它有两个参数:第一个参数是偏移量,第二个参数是基地址。对于第一个参数,可以是正负数值,正的表示向后偏移,负的表示向前偏移。而第二个参数可以是:ios::beg:表示输入流的开始位置ios::cur:表示输入流的当前位置ios::end:表示输入流的结束位置tellg()函数不需要带参数,它返回当前定位指针的位置,也代表着输入流的大小。假设

    2022年6月5日
    53
  • react路由配置

    react路由配置包含了LInk跳转以及js触发跳转并传参。这是项目的目录结构,主要的代码都在src目录下,src下面新建一个containers文件夹放我们的一些组件,router文件夹是配置路由用的。按照顺序来写:detail文件夹下的代码importReactfrom’react’classDetailextendsReact.Component{render(){

    2022年6月4日
    42
  • INFOBRIGHT的使用总结

    INFOBRIGHT的使用总结

    2021年8月15日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号