vue.js前后端数据交互之提交数据操作详解


Posted in Javascript onApril 24, 2018

本文实例讲述了vue.js前后端数据交互之提交数据操作。分享给大家供大家参考,具体如下:

前端小白刚开始做页面的时候,我们的前端页面中经常会用到表单,所以学会提交表单也是一个基本技能,其实用ajax就能实现,但他的原始语法有点。。。额 。。。复杂,所以这里给大家提供一种用vue-resource向后端提交数据。

(1)第一步,先在template中写一个表单;

<el-form :model="ruleForm" :rules="rules" ref="ruleForm" class="demo-ruleForm">
 <el-form-item label="用户名" prop="name">
   <el-input v-model="ruleForm.name"></el-input>
 </el-form-item>
 <el-form-item label="用户类型" prop="type">
   <el-select v-model="ruleForm.type" placeholder="请选择专利类型" style="width:500px;">
 <el-option label="一级管理员" value="1"></el-option>
 <el-option label="二级管理员" value="2"></el-option>
 <el-option label="三级管理员" value="3"></el-option>
 <el-option label="普通用户" value="4"></el-option>
   </el-select>
 </el-form-item>
 <el-form-item label="出生日期" prop="date">
   <el-input v-model="ruleForm.date"></el-input>
 </el-form-item>
 <el-form-item label="备注" prop="intro">
   <el-input type="textarea" v-model="ruleForm.intro" :rows="10"></el-input>
 </el-form-item>
 <el-form-item>
   <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button>
 </el-form-item>
</el-form>

(2)在data里面定义表单内容的字段及表单的约束规则;

data() {
   return {
    ruleForm: {
       name: '',
       type: '',
       date: '',
       intro: '',
     }
   }
 rules: {
     name: [
      { required: true, message: '请输入用户名', trigger: 'blur' },
      { min: 1, max: 20, message: '长度在 1 到20个字符', trigger: 'blur' }
     ],
     type: [
      { required: true, message: '请选择用户类型', trigger: 'change' }
     ],
     date: [
      { required: true, message: '请输入出生日期', trigger: 'blur' },
      { min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' }
     ],
     intro: [
      { required: true, message: '请输入备注', trigger: 'blur' },
      { min: 50, max: 500, message: '请输入至少50个字', trigger: 'blur' }
     ],
    }
}

(3)定义提交表单的方法

methods:{
submitForm(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
      this.$http.get(baseURL+"api/create?table=user&"+getParamsString(param)).then(function(res){
            if(res.body==1){
              this.$alert("提交成功", '提交结果', {
                confirmButtonText: '确定',
                type: 'success',
                callback: action => {
                },
              });
            }
            else{
              this.$alert("提交失败", '提交结果', {
                confirmButtonText: '确定',
                type: 'warning',
                callback: action => {
                },
              });
            }
          })
        } else {
          console.log('error submit!!');
          return false;
        }
      });
    }
}

上面提交函数里面的baseURL以及api的介绍补充说明如下:

这里再向大家介绍一种用vue-resource从后端请求数据的方法。

比如说从后端请求一张表过来,

(1)首先,在data中return一个msg:[]数组来接收表的数据;

(2)在方法中定义一个请求函数,比如我们这里函数名定义为showDetails;

methods:{
  showDetails:function(){
    this.$http.get(baseURL+"api/条件").then(function(res){
      this.msg = res.body;
    });
  }
}

这里baseURL项目的路径,如果项目部署在服务器上面一般格式为www.XXX.com/项目名;之后的api是后端封装的api接口;然后条件就是对表的查询,删除等语句。比如对名为student的表进行查询,需要获取studentID为40001的学生信心,则查询语句可写为‘query?table=student&studentIDeq=40001',需要注意的是与有关数据库的操作字段(通俗点讲,可以理解为后端定义的字段)要加引号,而前端定义的字段要放在引号外面;

(3)最后,别忘了这个请求操作是没有调用,是默认执行的,所以要在mounted里面实时执行;

mounted: function (){
   this.showDetails();
}

好了,这个函数就完成了,你可以通过浏览器控制台的network查看从后端取得的数据,或者通过console打印输出也可以看到啦!!!

当然啦。前提是你的数据库里面有一张名为user的表,表里面有name,type,date,intro几个字段,并且后端的接口啥的都已经定义好的情况下,不然是不会成功的哦

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
textarea的value是html文件源代码,存成html文件的代码
Apr 20 Javascript
js parseInt(&quot;08&quot;)未指定进位制问题
Jun 19 Javascript
动态加载js、css等文件跨iframe实现
Feb 24 Javascript
判断一个对象是否为jquery对象的方法
Mar 12 Javascript
jquery跟js初始化加载的多种方法及区别介绍
Apr 02 Javascript
jquery实现未经美化的简洁TAB菜单效果
Aug 28 Javascript
JS Canvas定时器模拟动态加载动画
Sep 17 Javascript
JavaScript中的call和apply的用途以及区别
Jan 11 Javascript
浅谈Node.js爬虫之网页请求模块
Jan 11 Javascript
解决vue移动端适配问题
Dec 12 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
Nov 14 Javascript
layui数据表格重载实现往后台传参
Nov 15 Javascript
vue router动态路由下让每个子路由都是独立组件的解决方案
Apr 24 #Javascript
vue+webpack实现异步加载三种用法示例详解
Apr 24 #Javascript
vue中$refs的用法及作用详解
Apr 24 #Javascript
vue实现选项卡及选项卡切换效果
Apr 24 #Javascript
Vue手把手教你撸一个 beforeEnter 钩子函数
Apr 24 #Javascript
js 图片转base64的方式(两种)
Apr 24 #Javascript
react配合antd组件实现的管理系统示例代码
Apr 24 #Javascript
You might like
PHP4与PHP5的时间格式问题
2008/02/17 PHP
中英文字符串翻转函数
2008/12/09 PHP
PHP调用Webservice实例代码
2011/07/29 PHP
解析php时间戳与日期的转换
2013/06/06 PHP
开启PHP的伪静态模式
2015/12/31 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
php+mysql实现的无限分类方法类定义与使用示例
2020/05/27 PHP
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
2015/11/15 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
浅析JS动态创建元素【两种方法】
2016/04/20 Javascript
vue.js表格分页示例
2016/10/18 Javascript
详解React native全局变量的使用(跨组件的通信)
2017/09/07 Javascript
react 父组件与子组件之间的值传递的方法
2017/09/14 Javascript
JS实现的简单拖拽购物车功能示例【附源码下载】
2018/01/03 Javascript
python if not in 多条件判断代码
2016/09/21 Python
带你了解python装饰器
2017/06/15 Python
磁盘垃圾文件清理器python代码实现
2020/08/24 Python
解决Python3中的中文字符编码的问题
2018/07/18 Python
使用Python实现在Windows下安装Django
2018/10/17 Python
Python中对数组集进行按行打乱shuffle的方法
2018/11/08 Python
CSS3 完美实现圆角效果
2009/07/13 HTML / CSS
德国户外装备、登山运动和攀岩商店:tapir store
2020/02/12 全球购物
德国高尔夫商店:Par71.de
2020/11/29 全球购物
请说出几个常用的异常类
2013/01/08 面试题
接口的多继承会带来哪些问题
2015/08/17 面试题
管理信息系学生的自我评价
2014/01/11 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
煤矿安全承诺书
2014/05/22 职场文书
2014公安机关纪律作风整顿思想汇报
2014/09/13 职场文书
2014年学校财务工作总结
2014/12/06 职场文书
色戒观后感
2015/06/12 职场文书
企业催款函范本
2015/06/24 职场文书
写给汽车4S店的创业计划书,拿来即用!
2019/08/09 职场文书
浅谈Vue的computed计算属性
2022/03/21 Vue.js