vue中配置axios.js文件,发送请求
为了统一管理请求,每个项目都会去配置axios;而不是在vue中直接使用,那样不好维护等等
下面是我配置的最基础的axios文件
第一步:首先新建一个axios文件,我是放在router文件下的
import axios from "axios";
import { Toast } from "mint-ui"; // 我用的mint的框架来弹出我的错误返回 大家可以用别的提示(移动端的组件库)
import router from "@/router/index.js"; // 默认超时设置
axios.defaults.timeout = 5000; // 相对路径设置
axios.defaults.baseURL = ""; //http request 拦截器
axios.interceptors.request.use(
(config) => {
// 获取token
const token = localStorage.getItem("cc_token");
// 设置参数格式
if (!config.headers["Content-Type"]) {
config.headers = {
"Content-Type": "application/json",
// application/x-www-form-urlencoded
};
}
// 添加token到headers
if (token) {
config.headers.token = token;
}
// 鉴权参数设置
if (config.method === "get") {
//get请求下 参数在params中,其他请求在data中
config.params = config.params || {};
let json = JSON.parse(JSON.stringify(config.params));
//一些参数处理
} else {
config.data = config.data || {};
//一些参数处理
}
return config;
},
(err) => {
return Promise.reject(err);
}
); //http response 拦截器
axios.interceptors.response.use(
(response) => {
//一些统一code的返回处理
if (response.data.code === 501) {
// 登录验证
//做了个示例跳转项目中登录,并记录下相对路径
router.push({
name: "login", //从哪个页面跳转
query: {
retUrl: window.location.href.split("#")[1] || "",
is_new_user_url: 1,
},
});
}
return response;
},
(error) => {
return Promise.reject(error);
}
); export default axios
第二步:发送请求,再项目中请求接口基本上是按照业务或者功能划分的
我在src下新建api的文件夹, 然后新建一个login.js 文件,用来放关于登录的接口的
import request from "@/router/axios"; //引入封装的axios,也就是步骤一中的axios文件
//发送get请求
export const getLoginApi = (params) => {
return request({
url: "www.baidu.com",
method: "get",
params: { ...params }, //或者 写成 params,也是可以的
// params, 这是简写
});
};
//发送post请求 这个请求是404因为百度没有post这个接口
export const getLoginApi = (params) => {
return request({
url: "www.baidu.com",
method: "post",
data:params
});
};
第三步:在页面使用
import { getLoginApi } from "@/api/login"; //在对应的vue页面中,引入刚刚的请求接口
//就可以使用了
vue中配置axios.js文件,发送请求的更多相关文章
- Vue中引入静态JS文件(爬坑)
前言(背景介绍) 开发的项目需要与Threejs的3D项目结合在一起,需要静态引入,jquery.js,stats.js,three.js,ThreeBSP.js等静态文件.开发环境是iview-ad ...
- vue中使用axios下载文件,兼容IE11
一.设置axios返回值为blob 二.使用a标签的down属性下载,如果是IE浏览器,可以使用navigator.msSaveBlob进行下载 // data的数据类型是blob downloadF ...
- vue中采用axios发送请求及拦截器
这几天在使用vue中axios发送get请求的时候很顺手,但是在发送post请求的时候老是在成功的回调函数里边返回参数不存在,当时就纳闷了,经过查阅资料,终于得到了解决方案,在此做一总结: 首先我们在 ...
- Vue在单独引入js文件中使用ElementUI的组件
Vue在单独引入js文件中使用ElementUI的组件 问题场景: 我想在vue中的js文件中使用elementUI中的组件,因为我在main.js中引入了element包和它的css,并挂载到了全局 ...
- vue中使用axios与axios的请求响应拦截
VUE中使用Axios axios的安装 npm install axios vue-axios axios在vue的配置与使用 在main.js中引入axios和vue-axios import a ...
- vue中config/index.js:配置的详细理解
当我们需要和后台分离部署的时候,必须配置config/index.js: 用vue-cli 自动构建的目录里面 (环境变量及其基本变量的配置) var path = require('path') ...
- vue页面引入外部js文件遇到的问题
问题一:vue文件中引入外部js文件的方法 //在vue文件中 <script> import * as funApi from '../../../publicJavaScript/pu ...
- 过滤器会拦截 前端页面加载 js文件的请求
学艺不精啊.....之前就总结过博客: JAVA中解决Filter过滤掉css,js,图片文件等问题 结果现在又犯了老错误~ 情况如下: index.jsp 页面的验证码输入栏绑定了异步验证(jQur ...
- Vue中ESlint配置文件.eslintrc文件
很久没有分享和更新过了 今天就给大家分享一篇 Vue中ESlint配置文件.eslintrc文件详解吧 ------------------------------------------------ ...
随机推荐
- J20航模遥控器开源项目系列教程(二)使用说明 | 遥控器制作完成了,怎么用?
我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/C ...
- centos 安装vimplus
参考链接:https://www.jianshu.com/p/75cde8a80fd7 git clone https://github.com/chxuan/vimplus.git ~/.vimpl ...
- fsck知识点记录
最近处理一个生产环境问题时,碰下一个以下现象,记录一下,便于以后出现类似问题时,快速的查找相应命令 问题现象 由于物理机的内存条出现故障,导致该节点上的所有虚机网络都不通,机房人员修复完物理内存以后, ...
- Linux环境下如何生成core文件
Linux环境下进程发生异常而挂掉,通常很难查找原因,但是一般Linux内核给我们提供的核心文件,记录了进程在崩溃时候的信息.但是生成core文件需要设置开关,具体步骤如下: 1.查看生成core文件 ...
- 2020.5.27 第七篇 Scrum冲刺博客
Team:银河超级无敌舰队 Project:招新通 项目冲刺集合贴:链接 目录 一.每日站立会议 1.1 会议照片 1.2 项目完成情况 二.项目燃尽图 三.签入记录 3.1 代码/文档签入记录 3. ...
- Ubuntu 磁盘满了处理方法。
Ubuntu 磁盘满了处理方法: 1. 如果是虚拟机安装ubuntu,直接给虚拟机安装ubuntu 系统所在的盘符动态分配一点磁盘容量,就可以了. 2. 如果不是虚拟机安装ubuntu,那么有两个办法 ...
- pytest「conftest、pytest参数化、重运行、出测试报告」
文章总览图 一.conftest问题整理: 1.这个conftest.py分路径吗?如果在TestCases下建这个包可以直接用吗? TestCases这里有ModeA和ModeB,想在ModeA或M ...
- codeforce Round #605(Div.3)
A. Three Friends 题目链接 题目意思:有三个好朋友a,b,c.他们在一个坐标轴上,他们的位置分别是xa 和xb ,xc,他们三个人都可以往前或者往后走一步,只能走一步.问你他们走了(也 ...
- python接口测试自动化之python基础语法
一.pycharm的使用和python基本语法 (一).pycharm的使用和python环境 1.python以及pycharm的安装 python 的版本选择:3.x 版本,不要安装2.x 版本, ...
- 没想到,Git居然有3种“后悔药”!
没想到,Git居然有后悔药! 你知道Git版本控制系统中都有哪些"后悔药"吗? 本文通过案例讲解git reset . git revert . git checkout在版本控制 ...