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 使用手册(二)
Sep 23 Javascript
JQuery1.4+ Ajax IE8 内存泄漏问题
Oct 15 Javascript
6款新颖的jQuery和CSS3进度条插件推荐
Mar 05 Javascript
Javascript自定义排序 node运行 实例
Jun 05 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
Aug 26 Javascript
js实现带圆角的多级下拉菜单效果
Aug 28 Javascript
jquery中object对象循环遍历的方法
Dec 18 Javascript
Zabbix添加Node.js监控的方法
Oct 20 Javascript
React操作真实DOM实现动态吸底部的示例
Oct 23 Javascript
浅谈node.js 命令行工具(cli)
May 10 Javascript
Vue2.0生命周期的理解
Aug 20 Javascript
vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
Sep 19 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
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
2015/12/17 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
js 页面执行时间计算代码
2009/03/04 Javascript
JavaScript CSS修改学习第六章 拖拽
2010/02/19 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
Javascript函数式编程语言
2015/10/11 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
AngularJs Managing Service Dependencies详解
2016/09/02 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
2016/12/21 Javascript
React快速入门教程
2017/01/17 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
微信小程序实现分享到朋友圈功能
2018/07/19 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
原生js实现ajax请求和JSONP跨域请求操作示例
2020/03/14 Javascript
vue addRoutes路由动态加载操作
2020/08/04 Javascript
python如何重载模块实例解析
2018/01/25 Python
Python实现matplotlib显示中文的方法详解
2018/02/06 Python
python 字典 按key值大小 倒序取值的实例
2018/07/06 Python
Sanic框架请求与响应实例分析
2018/07/16 Python
python中文编码与json中文输出问题详解
2018/08/24 Python
python3.7 sys模块的具体使用
2019/07/22 Python
对python中的*args与**kwgs的含义与作用详解
2019/08/28 Python
python装饰器相当于函数的调用方式
2019/12/27 Python
python matlab库简单用法讲解
2020/12/31 Python
在python3.9下如何安装scrapy的方法
2021/02/03 Python
阿联酋航空官方网站:Emirates
2017/10/17 全球购物
就业自荐信
2013/12/04 职场文书
电脑租赁公司创业计划书
2014/01/08 职场文书
校庆活动方案
2014/03/31 职场文书
我们的节日中秋活动方案
2014/08/19 职场文书
2014年小学美术工作总结
2014/12/20 职场文书
2015年“七七卢沟桥事变”纪念活动总结
2015/03/24 职场文书
Appium中scroll和drag_and_drop根据元素位置滑动
2022/02/15 Python
一文了解MYSQL三大范式和表约束
2022/04/03 MySQL
vue实现列表拖拽排序的示例代码
2022/04/08 Vue.js