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 相关文章推荐
更正确的asp冒泡排序
May 24 Javascript
javascript一点特殊用法
May 28 Javascript
JS实现控制文本框的内容
Jul 10 Javascript
javascript 的变量、作用域和内存问题
Apr 19 Javascript
Vue2 配置 Axios api 接口调用文件的方法
Nov 13 Javascript
react中fetch之cors跨域请求的实现方法
Mar 14 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
Apr 18 jQuery
以v-model与promise两种方式实现vue弹窗组件
May 21 Javascript
Angularjs中date过滤器失效的问题及解决方法
Jul 06 Javascript
JS监听事件的叠加和移除功能
Nov 19 Javascript
layer弹出子iframe层父子页面传值的实现方法
Nov 22 Javascript
JavaScript封装单向链表的示例代码
Sep 17 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
PHP5中虚函数的实现方法分享
2011/04/20 PHP
php curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
PHP实现下载功能的代码
2012/09/29 PHP
探讨PHP中OO之静态关键字以及类常量的详解
2013/06/07 PHP
一组PHP加密解密函数分享
2014/06/05 PHP
重新认识php array_merge函数
2014/08/31 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
PHP数组操作类实例
2015/07/11 PHP
基于PHPexecl类生成复杂的报表表头示例
2016/10/14 PHP
js 小贴士一星期合集
2010/04/07 Javascript
JavaScript对象和字串之间的转换实例探讨
2013/04/21 Javascript
javascript中数组的多种定义方法和常用函数简介
2014/05/09 Javascript
jQuery使用ajax_动力节点Java学院整理
2017/07/05 jQuery
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
jQuery实现的上拉刷新功能组件示例
2020/05/01 jQuery
[02:02]特效爆炸!DOTA2珍宝之瓶待你开启
2018/08/21 DOTA
从零学Python之引用和类属性的初步理解
2014/05/15 Python
python操作xml文件详细介绍
2014/06/09 Python
详解在Python程序中自定义异常的方法
2015/10/16 Python
Python3 适合初学者学习的银行账户登录系统实例
2017/08/08 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
2020/04/08 Python
opencv 图像加法与图像融合的实现代码
2020/07/08 Python
使用anaconda安装pytorch的实现步骤
2020/09/03 Python
售后服务科岗位职责范文
2013/11/13 职场文书
医学专业大学生求职的自我评价
2013/11/27 职场文书
住房公积金接收函
2014/01/09 职场文书
信访工作者先进事迹
2014/01/17 职场文书
机械设计毕业生自荐信
2014/02/02 职场文书
大学学习计划书范文
2014/05/02 职场文书
毕业论文致谢信
2015/05/14 职场文书
读书笔记怎么写
2015/07/01 职场文书
初中开学典礼新闻稿
2015/07/17 职场文书
你喜欢篮球吗?Python实现篮球游戏
2021/06/11 Python
深入理解python协程
2021/06/15 Python