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 EasyUI API 中文文档 - Spinner微调器使用
Oct 21 Javascript
js setTimeout()函数介绍及应用以倒计时为例
Dec 12 Javascript
javascript实现的元素拖动函数宿主为浏览器
Jul 21 Javascript
jQuery焦点图切换简易插件制作过程全纪录
Aug 27 Javascript
JavaScript比较两个对象是否相等的方法
Feb 06 Javascript
javascript小数精度丢失的完美解决方法
May 31 Javascript
bootstrap侧边栏圆点导航
Jan 11 Javascript
AngularJS中使用three.js的实例详解
Jul 21 Javascript
layui 表格的属性的显示转换方法
Aug 14 Javascript
vue最简单的前后端交互示例详解
Oct 11 Javascript
基于vue.js组件实现分页效果
Dec 29 Javascript
JQuery插件tablesorter表格排序实现过程解析
May 28 jQuery
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
虹吸式咖啡壶操作
2021/03/03 冲泡冲煮
require(),include(),require_once()和include_once()区别
2008/03/27 PHP
PHP简单系统查询模块代码打包下载
2008/06/07 PHP
php小技巧之过滤ascii控制字符
2014/05/14 PHP
2017年最好用的9个php开发工具推荐(超好用)
2017/10/23 PHP
PHP大文件分片上传的实现方法
2018/10/28 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
setInterval,setTimeout与jquery混用的问题
2013/04/08 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
Node.JS更改Windows注册表Regedit的方法小结
2017/08/18 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
动手写一个angular版本的Message组件的方法
2017/12/16 Javascript
javaScript中的空值和假值
2017/12/18 Javascript
swiper自定义分页器使用方法详解
2020/09/14 Javascript
vue实现重置表单信息为空的方法
2018/09/29 Javascript
三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)
2019/06/21 Javascript
详解vue-video-player使用心得(兼容m3u8)
2019/08/23 Javascript
js实现带积分弹球小游戏
2020/07/21 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
2020/08/19 Javascript
基于NodeJS开发钉钉回调接口实现AES-CBC加解密
2020/08/20 NodeJs
极简的Python入门指引
2015/04/01 Python
python 日期操作类代码
2018/05/05 Python
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
Python检查和同步本地时间(北京时间)的实现方法
2018/12/03 Python
python dlib人脸识别代码实例
2019/04/04 Python
django的model操作汇整详解
2019/07/26 Python
python GUI库图形界面开发之PyQt5多线程中信号与槽的详细使用方法与实例
2020/03/08 Python
Python如何给函数库增加日志功能
2020/08/04 Python
开普敦通行证:Cape Town Pass
2019/07/18 全球购物
毕业证丢失证明
2014/01/15 职场文书
抗洪抢险事迹材料
2014/05/06 职场文书
导游词之山东红叶谷
2019/10/31 职场文书
Go语言基础函数基本用法及示例详解
2021/11/17 Golang