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 相关文章推荐
非常不错的功能强大代码简单的管理菜单美化版
Jul 09 Javascript
js类的静态属性和实例属性的理解
Oct 01 Javascript
JS获取Table中td值的方法
Mar 19 Javascript
javascript弹出带文字信息的提示框效果
Jul 19 Javascript
JS中对Cookie的操作详解
Aug 05 Javascript
jQuery使用$获取对象后检查该对象是否存在的实现方法
Sep 04 Javascript
jQuery实现 RadioButton做必选校验功能
Jun 15 jQuery
JavaScript实现的浏览器下载文件的方法
Aug 09 Javascript
动态统计当前输入内容的字节、字符数的实例详解
Oct 27 Javascript
vue 虚拟dom的patch源码分析
Mar 01 Javascript
微信小程序动态生成二维码的实现代码
Jul 25 Javascript
对vue中的事件穿透与禁止穿透实例详解
Oct 28 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
深入apache host的配置详解
2013/06/09 PHP
javascript控制frame,iframe的src属性代码
2009/12/31 Javascript
javascript innerText和innerHtml应用
2010/01/28 Javascript
一个简单的js鼠标划过切换效果
2010/06/30 Javascript
jQuery页面滚动浮动层智能定位实例代码
2011/08/23 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
基于jquery的图片轮播 tab切换组件
2012/07/19 Javascript
JS 控件事件小结
2012/10/31 Javascript
js每隔5分钟执行一次ajax请求的实现方法
2013/11/27 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
2016/11/07 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
2016/12/06 Javascript
jQuery用noConflict代替$的实现方法
2017/04/12 jQuery
vue2.0实现分页组件的实例代码
2017/06/22 Javascript
Angular实现的简单查询天气预报功能示例
2017/12/27 Javascript
Javascript获取某个月的天数
2018/05/30 Javascript
Jquery的autocomplete插件用法及参数讲解
2019/03/12 jQuery
原生js实现日历效果
2020/03/02 Javascript
vue和小程序项目中使用iconfont的方法
2020/05/19 Javascript
浅谈Vue 自动化部署打包上线
2020/06/14 Javascript
[02:53]2018年度DOTA2最佳战队-完美盛典
2018/12/17 DOTA
python模块restful使用方法实例
2013/12/10 Python
Python实现递归遍历文件夹并删除文件
2016/04/18 Python
Flask数据库迁移简单介绍
2017/10/24 Python
PyTorch学习笔记之回归实战
2018/05/28 Python
用python编写第一个IDA插件的实例
2018/05/29 Python
Python拼接微信好友头像大图的实现方法
2018/08/01 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
2019/05/13 Python
手把手教你配置JupyterLab 环境的实现
2021/02/02 Python
Merrell美国官网:美国登山运动鞋品牌
2018/02/07 全球购物
进步之星获奖感言
2014/02/22 职场文书
《秋姑娘的信》教学反思
2014/02/28 职场文书
中层领导干部群众路线对照检查材料思想汇报
2014/10/02 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
党员公开承诺书2015
2015/01/21 职场文书
小学中队委竞选稿
2015/11/20 职场文书
详解Redis瘦身指南
2021/05/26 Redis