vue设置全局访问接口API地址操作

在使用vue框架进行前后端分离项目开发时,通常涉及到与后段接口进行交互,平时一般使用比较多的就是用axios来实现调用后段接口,

在使用vue框架进行前后端分离项目开发时,通常涉及到与后段接口进行交互,平时一般使用比较多的就是用axios来实现调用后段接口,写法一般为

xxx() {

const _this = this

axios.get(“http://ip:port/xx/xx”).then(function (resp) {

…..//省略

})

}

但是有一个比较普遍的问题就是,假如我们后端接口地址改变了,或者是网络地址发生了变化,就需要在上面IP以及端口的位置每一处都需要修改,所以我们需要一个一处设置 处处可用的配置,如下

在src目录下新建interface文件夹,新建index.js文件

//配置全局访问接口地址

let commonUrl = “http://ip:port”;

 

let baseUrl = {

commonUrl

}

export default baseUrl

在main.js中引入上述配置

import api from “./interface/index” Vue.prototype.$api = api.commonUrl

接下来在原axios调用接口的位置稍作修改即可实现正常调用接口了

xx() {

const _this = this

axios.get(this.$api + “/xx/xx”).then(function (resp) {

…..

}

})

}

补充知识:vue项目:(全局变量设置与调用)API接口封装 – 代码篇

vue项目,如何将“API接口” 封装为“全局变量” ?

1. API全局配置文件【global.vue文件】

<template>

<div> </div>

</template>

<!– API全局变量 –>

<script>

// 本地 接口地址

const localSrc = ‘http://192.168.0.103:8444’;

// 线上 接口地址

const serverSrc = ‘http://www.xxxxxx.com:8080/jobs-api’;

export default{

localSrc,

serverSrc

}

</script>

<style>

</style>

2. 全局注册引入文件 【main.js文件】

// 引入API接口文件

import global_ from ‘./components/api/global’//引用文件

Vue.prototype.GLOBAL = global_//挂载到Vue实例上面

3. 如下代码片段:【注释1、注释2、注释3】

methods: {

ajaxLoginApi: function (form) {

var that=this.form; // 放置指针,便于then操作的获取

console.log(“账号”+that.username+”密码”+that.pwd);

// var localPath = ‘http://192.168.0.103:8444’;

// var ecsPath = ‘http://www.1688jobs.com:8080/jobs-api/’

 

var localPath = this.GLOBAL.localSrc; // 本地 接口地址 【注释1】

var serverPath = this.GLOBAL.serverSrc; // 线上 接口地址【注释2】

 

axios.post( serverPath + ‘/login’,   // 【注释3】

{

// ‘userName’:’17681135201′,

// ‘userPwd’:’123456′,

// ‘userType’:”2″

‘userName’: this.form.username,

‘userPwd’: this.form.pwd,

‘userType’:”2″

},

{

headers: {

‘Content-Type’:’application/json’,

//’Authorization’:’eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiI1QUZFRkQ4NTNFNjIwNDIyOEIwNDE3MzdCMDdBNEJCNURDNTBEQjA4OUFCQzBENDM4MDA5RkM4REU4QkMyODkzIiwidXNlck5hbWUiOiIxNzY4MTEzNTIwMSIsInVzZXJBZ2VudCI6Ik1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS82OC4wLjM0NDAuMTA2IFNhZmFyaS81MzcuMzYiLCJleHAiOjE1NTE5MzYzODQsIm5iZiI6MTU1MTkzNDU4NH0.YgRW-Wnlk_Gz64id_jTocH68oj8DuZuI1WyQBmmrt7c’

}

},

)

.then(function (response) {

console.log(“response=”+response);

console.log(“responseheader=”+response.headers);

var reslutData = response;

// console.log(reslutData.data.code);

// 登录账号和密码 检测

if (reslutData.data.code == 2006) { // 用户名不存在

this.$notify.error({

title: reslutData.data.message,

duration: 2000

});

return false;

}

if (reslutData.data.code != 200) { // 登录失败

this.$notify.error({

title: reslutData.data.message,

duration: 2000

});

return false;

} else { // 登录成功

// 弹框成功提示

this.$notify({

title: reslutData.data.message,

// message: ‘正在跳转中···’,

type: ‘success’,

duration: 2000

});

console.log(“token=” + reslutData.data.data.token)

// token写入本地客户端存储

localStorage.setItem(“token”,reslutData.data.data.token);

// token获取本地客户端存储

// var key = localStorage.getItem(“token”);

// console.log(“key=” + key)

// 成功之后执行跳转  this.$router.replace

this.$router.replace(‘/search’);

}

 

 

}.bind(this))

.catch(function (error) {

console.log(“请求失败”+error);

});

},

以上这篇vue设置全局访问接口API地址操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

WordPress主题下载,WordPress免费主题下载,网站源码模板下载


下载说明:
1. 本站所有资源来源于网络和用户上传,如有侵权请联系站长
2. 本站分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,商用请支持正版!不得违反国家法律,否则后果自负!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

本站的资源均来自于互联网,仅为资源共享、学习参考之目的,其版权均归原作者及其网站所有,如有侵权请留言联系:admin,转转请注明出处:http://zhanmr.com/7078.htm

发表评论

电子邮件地址不会被公开。 必填项已用*标注