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插件开发方法(附完整实例及下载)
Apr 01 Javascript
js关于精确计算和数值格式化以及直接引js文件
Jan 28 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
Jun 22 Javascript
Egret引擎开发指南之编译项目
Sep 03 Javascript
使用javascript实现json数据以csv格式下载
Jan 09 Javascript
浅谈DOCTYPE对$(window).height()取值的影响
Jul 21 Javascript
javascript 实现动态侧边栏实例详解
Nov 11 Javascript
JS实现一个简单的日历
Feb 22 Javascript
Bootstrap3多级下拉菜单
Feb 24 Javascript
js操作二进制数据方法
Mar 03 Javascript
Vue多组件仓库开发与发布详解
Feb 28 Javascript
微信小程序收货地址API兼容低版本解决方法
May 18 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编程实现csv文件导入mysql数据库的方法
2017/04/29 PHP
Laravel框架定时任务2种实现方式示例
2018/12/08 PHP
基于jquery的loading 加载提示效果实现代码
2011/09/01 Javascript
jQuery插件 selectToSelect使用方法
2013/10/02 Javascript
javascript作用域问题实例分析
2015/07/13 Javascript
jquery实现动静态条形统计图
2015/08/17 Javascript
JavaScript通过代码调用Flash显示的方法
2016/02/02 Javascript
详解js实现线段交点的三种算法
2016/08/09 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
js断点调试心得分享(必看篇)
2017/12/08 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
npm 更改默认全局路径以及国内镜像的方法
2018/05/16 Javascript
cdn模式下vue的基本用法详解
2018/10/07 Javascript
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
详解Nuxt内导航栏的两种实现方式
2020/04/16 Javascript
Python入门篇之面向对象
2014/10/20 Python
Python的Flask框架中实现简单的登录功能的教程
2015/04/20 Python
Python 通过调用接口获取公交信息的实例
2018/12/17 Python
python解析json串与正则匹配对比方法
2018/12/20 Python
python3 正则表达式基础廖雪峰
2020/03/25 Python
解决在keras中使用model.save()函数保存模型失败的问题
2020/05/21 Python
Keras实现支持masking的Flatten层代码
2020/06/16 Python
英国男士时尚网站:Dandy Fellow
2018/02/09 全球购物
Notino法国:购买香水和化妆品
2019/04/15 全球购物
Hotels.com越南:酒店预订
2019/10/29 全球购物
使用索引有什么好处
2016/07/27 面试题
方正Java笔试题
2014/07/03 面试题
办理暂住证介绍信
2014/01/11 职场文书
银行简历自我评价
2014/02/11 职场文书
小班评语大全
2014/05/04 职场文书
政协调研汇报材料
2014/08/15 职场文书
岳庙导游词
2015/02/04 职场文书
幼儿园见习总结
2015/06/23 职场文书
2015七夕情人节宣传语
2015/07/14 职场文书
个人工作总结(管理人员)范文
2019/08/13 职场文书
SQL基础的查询语句
2021/11/11 MySQL