Vue axios 中提交表单数据(含上传文件)


Posted in Javascript onJuly 06, 2017

我们经常使用表单来上传数据,以及上传文件,那么怎么在表单提交成功的时候接受服务器的响应,并作出相应操作.

当然使用一般jQuery上传对象的格式也是可以的,如果使用传统的表单上传呢?

<!DOCTYPE html>
<html lang="en">
  <head>
    <title></title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
  </head>
  <body>
    <form method="post" action="/upload" enctype="multipart/form-data">
      <input type="text" name="name" value="" placeholder="请输入用户名">
      <input type="text" name="age" value="" placeholder="请输入年龄">
      <input type="file" name="uploadFile">
      <input type="submit" value="提交">
    </form>
  </body>
</html>

这种方式可以提交,那么问题来了,表单提交以后如果需要获取服务器的响应呢,如果需要在响应成功后跳转页面呢,这种方式显得不好处理.

切回正题,在vue中这种简单的表单提交如何处理呢,其实使用的是 FormData 来模拟表单提交

<head>
  <title></title>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <script src="https://cdn.bootcss.com/vue/2.3.4/vue.js"></script>
  <script src="https://cdn.bootcss.com/axios/0.16.2/axios.js"></script>
</head>

<body>
  <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>

  <script>
    window.onload = function () {
      Vue.prototype.$http = axios;
      new Vue({
        el: 'form',
        data: {
          name: '',
          age: '',
          file: ''
        },
        methods: {
          getFile(event) {
            this.file = event.target.files[0];
            console.log(this.file);
          },
          submitForm(event) {
            event.preventDefault();
            let formData = new FormData();
            formData.append('name', this.name);
            formData.append('age', this.age);
            formData.append('file', this.file);

            let config = {
              headers: {
                'Content-Type': 'multipart/form-data'
              }
            }

            this.$http.post('/upload', formData, config).then(function (res) {
              if (res.status === 2000) {
                /*这里做处理*/
              }
            })
          }
        }
      })
    }
  </script>
</body>

</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript for循环设法提高性能
Feb 24 Javascript
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
Nov 11 Javascript
使用JavaScript开发IE浏览器本地插件实例
Feb 18 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
Nov 07 Javascript
JS中使用变量保存arguments对象的方法
Jun 03 Javascript
JavaScript Ajax编程 应用篇
Jul 02 Javascript
移动端日期插件Mobiscroll.js使用详解
Dec 19 Javascript
JS Testing Properties 判断属性是否在对象里的方法
Oct 01 Javascript
layui框架中layer父子页面交互的方法分析
Nov 15 Javascript
不使用 JS 匿名函数理由
Nov 17 Javascript
简述JS控制台的使用
Jul 15 Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
Jan 22 Javascript
解决webpack打包速度慢的解决办法汇总
Jul 06 #Javascript
详解微信小程序Radio选中样式切换
Jul 06 #Javascript
Node.js 回调函数实例详解
Jul 06 #Javascript
详解vue渲染从后台获取的json数据
Jul 06 #Javascript
微信小程序 Buffer缓冲区的详解
Jul 06 #Javascript
VUE axios发送跨域请求需要注意的问题
Jul 06 #Javascript
vue-cli如何添加less 以及sass
Jul 06 #Javascript
You might like
php实现信用卡校验位算法THE LUHN MOD-10示例
2014/05/07 PHP
Smarty中常用变量操作符汇总
2014/10/27 PHP
零基础php编程好学吗
2019/10/11 PHP
use jscript List Installed Software
2007/06/11 Javascript
javascript 类型判断代码分析
2010/03/28 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
浅谈javascript构造函数与实例化对象
2015/06/22 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
微信小程序 页面跳转传递值几种方法详解
2017/01/12 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
2017/01/21 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
2017/03/06 Javascript
JavaScript数组的5种迭代方法
2017/09/29 Javascript
js原生实现移动端手指滑动轮播图效果的示例
2018/01/02 Javascript
node打造微信个人号机器人的方法示例
2018/04/26 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
2018/05/07 Javascript
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
javascript实现简单搜索功能
2020/03/26 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
2020/04/13 Javascript
python静态方法实例
2015/01/14 Python
Python编程中的异常处理教程
2015/08/21 Python
python paramiko模块学习分享
2017/08/23 Python
详解python string类型 bytes类型 bytearray类型
2017/12/16 Python
python爬虫实现中英翻译词典
2019/06/25 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
2020/01/06 Python
美国玛丽莎收藏奢华时尚商店:Marissa Collections
2016/11/21 全球购物
曼城官方网上商店:Manchester City
2019/09/10 全球购物
兼职学生的自我评价
2013/11/24 职场文书
应届生个人求职信模板
2013/11/26 职场文书
大学活动策划书范文
2014/01/10 职场文书
安全生产投入制度
2014/01/29 职场文书
致铅球运动员加油稿
2014/02/13 职场文书
《故乡》教学反思
2014/04/10 职场文书
商铺门面租房协议书
2014/10/21 职场文书
2014年学校法制宣传日活动总结
2014/11/01 职场文书
2014年学校卫生工作总结
2014/11/20 职场文书
Anaconda安装pytorch及配置PyCharm 2021环境
2021/06/04 Python