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 相关文章推荐
js取得html iframe中的元素和变量值
Jun 30 Javascript
jQuery 重复加载错误以及修复方法
Dec 16 Javascript
JavaScript面对国际化编程时的一些建议
Jun 24 Javascript
js调出上下文菜单的实例
Dec 17 Javascript
JavaScript Ajax编程 应用篇
Jul 02 Javascript
DOM 事件的深入浅出(一)
Dec 05 Javascript
ES6新特性之函数的扩展实例详解
Apr 01 Javascript
微信小程序中做用户登录与登录态维护的实现详解
May 17 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
Aug 28 Javascript
原生JS实现小小的音乐播放器
Oct 16 Javascript
vue采用EventBus实现跨组件通信及注意事项小结
Jun 14 Javascript
vue vue-Router默认hash模式修改为history需要做的修改详解
Sep 13 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中获得视频时间总长度的另一种方法
2011/09/15 PHP
浅谈PHP变量作用域以及地址引用问题
2013/12/27 PHP
PHP获取毫秒级时间戳的方法
2015/04/15 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
2015/12/14 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
jquery获取颜色在ie和ff下的区别示例介绍
2014/03/28 Javascript
使用typeof判断function是否存在于上下文
2014/08/14 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
jquery仿QQ登录账号选择下拉框效果
2016/03/22 Javascript
设计模式中的组合模式在JavaScript程序构建中的使用
2016/05/18 Javascript
javascript创建含数字字母的随机字符串方法总结
2016/08/01 Javascript
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
2016/08/15 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
2016/09/08 Javascript
原生js实现ajax方法(超简单)
2016/09/20 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
vue-cli实现多页面多路由的示例代码
2018/01/30 Javascript
Vue通过ref父子组件拿值方法
2018/09/12 Javascript
vue 2.1.3 实时显示当前时间,每秒更新的方法
2018/09/16 Javascript
javascript中call,apply,bind的区别详解
2020/12/11 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
Python实现的Kmeans++算法实例
2014/04/26 Python
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
浅析python 中大括号中括号小括号的区分
2019/07/29 Python
Python使用jupyter notebook查看ipynb文件过程解析
2020/06/02 Python
奥兰多迪士尼门票折扣:Undercover Tourist
2018/07/09 全球购物
一套C++笔试题面试题
2012/06/06 面试题
求职者简历中的自我评价
2013/10/20 职场文书
团工委书记自荐书范文
2013/12/17 职场文书
环保建议书200字
2014/05/14 职场文书
园林系毕业生求职信
2014/06/23 职场文书
乡镇领导班子四风对照检查材料
2014/09/27 职场文书
学校捐书倡议书
2015/04/27 职场文书
最感人的道歉情书
2015/05/12 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
python munch库的使用解析
2021/05/25 Python