vue全局配置axios
来源:互联网 发布:java人事工资管理系统 编辑:程序博客网 时间:2024/05/22 04:43
由于尤雨溪之前在微博发布消息,不再继续维护vue-resource,并推荐大家开始使用 axios 。所以在现在的项目中就试着使用了axios
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。使用起来也比较方便。
安装
使用npm:
$ npm install axios
使用bower:
$ bower install axios
使用cdn:
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
配置使用
安装完成就可以使用了,这里我们就对Vue项目说一下。
在开发时,我们可以使用config进行axios的配置,还可以做一些请求拦截等。
首先,我们可以在src目录下创建untils文件夹来存放我们的配置文件。
配置如下:
'use strict'import axios from 'axios'import qs from 'qs'axios.interceptors.request.use(config => { // 这里的config包含每次请求的内容 // 判断localStorage中是否存在api_token if (localStorage.getItem('api_token')) { // 存在将api_token写入 request header config.headers.apiToken = `${localStorage.getItem('api_token')}`; } return config;}, err => { return Promise.reject(err);});axios.interceptors.response.use(response => { return response}, error => { return Promise.resolve(error.response)});function checkStatus (response) { // 如果http状态码正常,则直接返回数据 if (response && (response.status === 200 || response.status === 304 || response.status === 400)) { return response } // 异常状态下,把错误信息返回去 return { status: -404, msg: '网络异常' }}function checkCode (res) { // 如果code异常(这里已经包括网络错误,服务器错误,后端抛出的错误),可以弹出一个错误提示,告诉用户 if (res.status === -404) { alert(res.msg) } if (res.data && (!res.data.success)) { // alert(res.data.error_msg) } return res}// 请求方式的配置export default { post (url, data) { // post return axios({ method: 'post', baseURL: '/backapis', url, data: qs.stringify(data), timeout: 5000, headers: { 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' } }).then( (response) => { return checkStatus(response) } ).then( (res) => { return checkCode(res) } ) }, get (url, params) { // get return axios({ method: 'get', baseURL: '/backapis', url, params, // get 请求时带的参数 timeout: 5000, headers: { 'X-Requested-With': 'XMLHttpRequest' } }).then( (response) => { return checkStatus(response) } ).then( (res) => { return checkCode(res) } ) }}
这里我们还可以配置拦截器,在处理 then 或 catch 之前拦截请求和响应。因为项目中后端同事处理过了,这里我就不配置了 哈哈~~~
接下来,在mainjs中引用就可以使用了
import axios from './untils/http';// 这样就可以通过$axios发起请求了(个人使用喜好)Vue.prototype.$axios = axios;
具体如下:
阅读全文
1 0
- vue全局配置axios
- vue axios全局配置问题
- AXIOS全攻略,vue中全局引入
- vue踩坑之全局使用axios
- vue axios
- Vue axios
- 基于vue-cli的vue项目之axios的使用6--配置axios
- axios在vue中的简单配置与使用
- axios在vue中的简单配置与使用
- axios在vue中的简单配置与使用
- axios在vue中的简单配置与使用
- axios在vue中的简单配置与使用
- Vue——axios基本配置及请求拦截
- axios在vue中的简单配置与使用
- Axios——axios在vue中的简单配置与使用
- axios模块在vue开发中如何使用引入,如何注册全局方法
- vue-axios使用
- Vue-axios快速上手
- MYSQL外键
- 使用freemarker实现静态模板维护及动态内容展示案例
- 第三章 装饰者模式
- 生产机安装oracle数据库单实例
- jQuery基于ID调用指定iframe页面内的方法
- vue全局配置axios
- 数据中心的发展简史
- 关于人生职业规划
- 手机号/身份证(*)加密隐藏中间几位
- Linux 下的 Redis 安装 && 启动 && 关闭 && 卸载
- 前端_删除正行 多选_添加
- 图片处理
- java字符与对应Ascii码互转
- 【超分辨率】VDSR--Accurate Image Super-Resolution Using Very Deep Convolutional Networks