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 相关文章推荐
Jquery 快速构建可拖曳的购物车DragDrop
Nov 30 Javascript
用jquery与css打造个性化的单选框和复选框
Oct 20 Javascript
jquery实现更改表格行顺序示例
Apr 30 Javascript
chrome下img加载对height()的影响示例探讨
May 26 Javascript
javascript实现禁止复制网页内容汇总
Dec 30 Javascript
js canvas实现放大镜查看图片功能
Jun 08 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
Sep 27 Javascript
vue代理和跨域问题的解决
Jul 18 Javascript
JavaScript原型链与继承操作实例总结
Aug 24 Javascript
Vue-input框checkbox强制刷新问题
Apr 18 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
Apr 23 Javascript
JS轮播图的实现方法2
Aug 25 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
PHP连接SQLSERVER 注意事项(附dll文件下载)
2012/06/28 PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
2013/07/03 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
JSON 客户端和服务器端的格式转换
2009/08/27 Javascript
Jquery Ajax学习实例 向页面发出请求,返回XML格式数据
2010/03/14 Javascript
Jquery封装tab自动切换效果的具体实现
2013/07/13 Javascript
对 jQuery 中 data 方法的误解分析
2014/06/18 Javascript
javascript框架设计读书笔记之种子模块
2014/12/02 Javascript
javascript学习总结之js使用技巧
2015/09/02 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
2016/09/21 Javascript
Angular 中 select指令用法详解
2016/09/29 Javascript
微信小程序实现表单校验功能
2020/03/30 Javascript
vue.js中父组件调用子组件的内部方法示例
2017/10/22 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
详解Ant Design of React的安装和使用方法
2018/12/27 Javascript
Layui Form 自定义验证的实例代码
2019/09/14 Javascript
[01:33]真香警告!DOTA2勇士令状不朽珍藏Ⅱ饰品欣赏
2018/06/26 DOTA
Python的string模块中的Template类字符串模板用法
2016/06/27 Python
python处理Excel xlrd的简单使用
2017/09/12 Python
书单|人生苦短,你还不用python!
2017/12/29 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
2018/12/04 Python
python实发邮件实例详解
2019/11/11 Python
Python实现序列化及csv文件读取
2020/01/19 Python
python实现简单的tcp 文件下载
2020/09/16 Python
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
天美时手表加拿大官网:Timex加拿大
2016/09/01 全球购物
英国美发和美容产品商城:HQhair
2019/02/08 全球购物
一个精品风格的世界:Atterley
2019/05/01 全球购物
世嘉游戏英国官方商店:SEGA Shop UK
2019/09/20 全球购物
几个数据库方面的面试题
2016/07/01 面试题
党支部书记岗位责任制
2014/02/11 职场文书
2015年元旦活动总结
2014/05/09 职场文书
安全保证书格式
2015/02/28 职场文书
村官个人总结范文
2015/03/03 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
2015年语文教学工作总结
2015/05/25 职场文书