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下获得客户端操作系统的函数代码(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008)
Oct 31 Javascript
js前台判断开始时间是否小于结束时间
Feb 23 Javascript
使用Js让Html中特殊字符不被转义
Nov 05 Javascript
JS获取农历日期具体实例
Nov 14 Javascript
JavaScript的Vue.js库入门学习教程
May 23 Javascript
JS实现列表的响应式排版(推荐)
Sep 01 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
Jan 04 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
Jan 05 Javascript
angularjs中回车键触发某一事件的方法
Apr 24 Javascript
jQuery实现基本隐藏与显示效果的方法详解
Sep 05 jQuery
JavaScript面向对象核心知识与概念归纳整理
May 09 Javascript
vue项目中播放rtmp视频文件流的方法
Sep 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实现的Cookies操作类实例
2014/09/24 PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
2016/11/23 PHP
iOS+PHP注册登录系统 PHP部分(上)
2016/12/26 PHP
thinkphp中的多表关联查询的实例详解
2017/10/12 PHP
js(jQuery)获取时间的方法及常用时间类搜集
2013/10/23 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
2014/01/15 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
2014/05/28 Javascript
生成二维码方法汇总
2014/12/26 Javascript
jQuery统计上传文件大小的方法
2015/01/24 Javascript
简单介绍JavaScript中字符串创建的基本方法
2015/07/07 Javascript
nodejs加密Crypto的实例代码
2016/07/07 NodeJs
JavaScript数据操作_浅谈原始值和引用值的操作本质
2016/08/23 Javascript
node.js 和HTML5开发本地桌面应用程序
2016/12/13 Javascript
懒加载实现的分页&amp;&amp;网站footer自适应
2016/12/21 Javascript
vue.js如何更改默认端口号8080为指定端口的方法
2017/07/14 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
2019/11/06 Javascript
解决element-ui的下拉框有值却无法选中的情况
2020/11/07 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
[03:06]3分钟带你回顾DOTA2完美盛典&完美大师赛
2017/12/06 DOTA
使用python实现省市三级菜单效果
2016/01/20 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
2018/04/23 Python
Python continue继续循环用法总结
2018/06/10 Python
Sanic框架路由用法实例分析
2018/07/16 Python
django框架ModelForm组件用法详解
2019/12/11 Python
Python 使用生成器代替线程的方法
2020/08/04 Python
Expedia丹麦:全球领先的旅游网站
2018/03/18 全球购物
可持续未来的时尚基础:Alternative Apparel
2019/05/06 全球购物
关于清明节的演讲稿
2014/09/13 职场文书
欢迎新生标语
2014/10/06 职场文书
nginx配置proxy_pass中url末尾带/与不带/的区别详解
2021/03/31 Servers
nginx简单配置多个server的方法
2021/03/31 Servers
如何在C++中调用Python
2021/05/21 Python
一文搞懂MySQL索引页结构
2022/02/28 MySQL
python数字图像处理之图像的批量处理
2022/06/28 Python