Vue实战4-与后端数据交互

这个小节里,我们要通过和后端数据交互实现一个登录的功能。
这里我们要用到vue-resource,vue-resouce就相当于jQuery的$.ajax,是用来访问后端数据的。

安装

npm install vue-resource

简单调用

在main.js中引用vue-resource

import VueResource from 'vue-resource'
Vue.use(VueResource)

在Login.vue中改写login方法

login:function(){
    this.$http.get('http://*****/authenticate/credentials'
    ,{
        params:{
            UserName : this.username,
            Password : this.password
        }
    })
    .then(
        response => {
            this.message = '';
            router.push({path:'/main'});
        }
        ,response =>{
        this.message = '用户名或密码错误';
        }
    );
}

可以看到我们使用了this.$http.get方法,我们传了两个参数url和params,分别是API的地址和参数。then方法的参数是两个函数,第一个是访问成功的回调函数,第二个是访问失败的回调函数。
具体可参考官方文档

全局root url

url每次都带上长长的根路径http://*****,确实很烦人,我们在全局中配置一下。
在main.js中

Vue.use(VueResource);
Vue.http.options.root = 'http://****';

然后在login方法中

this.$http.get('authenticate/credentials')

这里面有一个tricky的地方,正确的是authenticate/credentials,而不是/authenticate/credentials,多了个/会变成网站个根目录,也就是'http://localhost:8080'

开发和生产环境

我们的开发环境API和生产环境API往往是分开的。我们下面用webpack给开发环境和生产环境配置不同的接口地址。

首先我们找到下面的文件:

/config/dev.env.js
/config/prod.env.js

这两个文件就是针对开发环境和生产环境设置不同参数的文件。
我们先打开dev.env.js,修改一下开发环境的配置。在module.exports加入一行

API_ROOT: '"http://***"'

类似的我们再修改一下prod.env.js。

在main.js中调用设置好的参数。

Vue.http.options.root = process.env.API_ROOT
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简介 参考博客: 全栈开发实战:用Vue2+Koa1开发完整的前后端项目(更新Koa2)前置技能: 具备Vue和K...
    Ghamster阅读 8,239评论 1 15
  • vue-cli搭建项目 确保安装了node与npm 再目标文件夹下打开终端 执行cnpm i vue-cli -g...
    Akiko_秋子阅读 3,281评论 1 22
  • 达克效应|自视甚高与倾家荡产 第一, 达克效应定义 ①,达克效应”的定义是:能力越...
    胡勃的观点阅读 527评论 0 1
  • 烂开始好结果 2019新年的第二周 【健身】 晚十早六 ❌基本都是10:30-6:30 跑步2次...
    吴小燕Jessica阅读 283评论 0 0
  • 【韩喜文2019.03.07星期四】 好展馆让天下没有卖不出去的产品 好展馆让天下没有不能传播的文化 日精进:11...
    韩喜文阅读 109评论 0 0