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 相关文章推荐
javascript权威指南 学习笔记之变量作用域分享
Sep 28 Javascript
Eval and new funciton not the same thing
Dec 27 Javascript
使用phantomjs进行网页抓取的实现代码
Sep 29 Javascript
jQuery实现友好的轮播图片特效
Jan 12 Javascript
javascript的变量、传值、传址、参数之间关系
Jul 26 Javascript
简单谈谈Javascript中类型的判断
Oct 19 Javascript
基于jQuery实现的扇形定时器附源码下载
Oct 20 Javascript
省市二级联动小案例讲解
Jul 24 Javascript
js实现增加数字显示的环形进度条效果
Feb 05 Javascript
几行js代码实现自适应
Feb 24 Javascript
VUEX-action可以修改state吗
Nov 19 Javascript
Taro小程序自定义顶部导航栏功能的实现
Dec 17 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集成FCK的函数代码
2008/09/27 PHP
解析CodeIgniter自定义配置文件
2013/06/18 PHP
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
CI框架装载器Loader.php源码分析
2014/11/04 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
JavaScript Object的extend是一个常用的功能
2009/12/02 Javascript
JavaScript中用getDate()方法返回指定日期的教程
2015/06/09 Javascript
javascript+html5实现绘制圆环的方法
2015/07/28 Javascript
AngularJS 模块详解及简单实例
2016/07/28 Javascript
微信公众号 摇一摇周边功能开发
2016/12/08 Javascript
jQuery中each循环的跳出和结束实例
2017/08/16 jQuery
微信小程序获取音频时长与实时获取播放进度问题
2018/08/28 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
2020/05/06 Javascript
[03:13]DOTA2-DPC中国联赛1月25日Recap集锦
2021/03/11 DOTA
Python 3.6 读取并操作文件内容的实例
2018/04/23 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
2019/06/03 Python
pyqt5 使用label控件实时显示时间的实例
2019/06/14 Python
解决Django中多条件查询的问题
2019/07/18 Python
python自动化测试之异常及日志操作实例分析
2019/11/09 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
Python编程快速上手——选择性拷贝操作案例分析
2020/02/28 Python
用纯css3和html制作泡沫对话框实现代码
2013/03/21 HTML / CSS
美国销售第一的智能手机和平板电脑保护壳:OtterBox
2017/12/21 全球购物
Myprotein中国网站:欧洲畅销运动营养品牌
2021/02/11 全球购物
销售人员中英文自荐信
2013/09/22 职场文书
上课迟到检讨书
2014/01/19 职场文书
预备党员表决心书
2014/03/11 职场文书
股指期货心得体会
2014/09/10 职场文书
村委会贫困证明范本
2014/09/17 职场文书
农村党员对照检查材料
2014/09/24 职场文书
员工工作表现自我评价
2015/03/06 职场文书
市级三好生竞选稿
2015/11/21 职场文书
Django migrate报错的解决方案
2021/05/20 Python
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python
「玫瑰之王的葬礼」舞台剧主视觉图公开
2022/03/21 日漫