南强小屋 Design By 杰米
本文实例讲述了vue实现的请求服务器端API接口。分享给大家供大家参考,具体如下:
import axios from 'axios'
import router from '@/router'
axios.defaults.timeout = 3000
axios.defaults.baseURL = ''
axios.interceptors.request.use(
config => {
// const token = getCookie('名称')
config.data = config.data
config.headers = {
'Content-Type': 'application/json; charset=utf-8'
}
if (config.url === '/api/login/index') {
} else {
if (localStorage.getItem('Authorization')) {
config.headers.Authorizatior = localStorage.getItem('Authorization')
}
}
// if (token) {
// config.params = {'token': token}
// }
return config
},
error => {
return Promise.reject(error)
}
)
axios.interceptors.response.use(
response => {
//返回错误跳转到首页
if (response.data.code === 0) {
router.push({
path: '/',
querry: {
redirect: router.currentRoute.fullPath
}
})
}
return response
},
error => {
if (error.response) {
switch (error.response.status) {
case 401:
localStorage.removeItem('Authorization')
router.push('/login')
}
}
return Promise.reject(error)
}
)
/**
* 封装get方法
* @param url
* @param data
* @returns {Promise}
*/
export function fetch (url, params = {}) {
return new Promise((resolve, reject) => {
axios.get(url, {
params: params
})
.then(response => {
resolve(response.data)
})
.catch(err => {
reject(err)
})
})
}
/**
* 封装post请求
* @param url
* @param data
* @returns {Promise}
*/
export function post (url, data = {}) {
return new Promise((resolve, reject) => {
axios.post(url, data)
.then(response => {
resolve(response.data)
}, err => {
reject(err)
})
})
}
/**
* 封装patch请求
* @param url
* @param data
* @returns {Promise}
*/
export function patch (url, data = {}) {
return new Promise((resolve, reject) => {
axios.patch(url, data)
.then(response => {
resolve(response.data)
}, err => {
reject(err)
})
})
}
/**
* 封装put请求
* @param url
* @param data
* @returns {Promise}
*/
export function put (url, data = {}) {
return new Promise((resolve, reject) => {
axios.put(url, data)
.then(response => {
resolve(response.data)
}, err => {
reject(err)
})
})
}
main.js调用
import { fetch, post, patch, put } from '@/util/fetch'
Vue.prototype.get = fetch
Vue.prototype.post = post
Vue.prototype.patch = patch
Vue.prototype.put = put
视图页面使用
export default {
name: 'login',
data () {
return {
mobile: '',
password: ''
}
},
components: {
XInput,
XButton,
Group,
Box
},
methods: {
handleLogin () {
let params = {}
params.username = this.mobile
params.password = this.password
this.post('/api/driver/index', params).then((data) => {
console.log(data)
}).catch((error) => {
console.log(error)
})
}
}
}
希望本文所述对大家vue.js程序设计有所帮助。
标签:
vue,请求,服务器,API接口
南强小屋 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
南强小屋 Design By 杰米
暂无vue实现的请求服务器端API接口示例的评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。