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文件详解吧 ------------------------------------------------ ...
随机推荐
- goland2019.2破解方法
第一步:下载 jetbrains-agent.jar 链接:https://pan.baidu.com/s/1V2qZokAeAGcbsKDaoD9eSw 提取码:nrce 第二步:将下载的jetbr ...
- MySQL最全存储引擎、索引使用及SQL优化的实践
1 MySQL的体系结构概述 整个MySQL Server由以下组成 :Connection Pool :连接池组件Management Services & Utilities :管理服务和 ...
- StructuredStreaming(New)
SparkStreaming API using DataSets and DataFrames (New) 使用流式DataSets和流式DataFrames的API ◆ 1.创建流式DataFr ...
- Cinder Volume 服务启动流程分析和周期性任务分析
1.cinder-volume服务的程序入口 #!/usr/bin/python2 # PBR Generated from u'console_scripts' import sys from ci ...
- Docker系列——Docker安装&基础命令
Docker 概述 Docker 是一个开源的应用容器引擎,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化. ...
- Neurosurgeon: Collaborative Intelligence Between the Cloud and Mobile Edge
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! ASPLOS ’17, April 08-12, 2017, Xi’an, China Abstract 如今的智能个人助理,如Apple ...
- Java算法——递归思想
描述递归(recursion):程序调用自身的编程技巧. 递归满足2个条件:1)有反复执行的过程(调用自身)2)有跳出反复执行过程的条件(递归出口) 递归与栈的关系下面演示的是求n的阶乘 int Fa ...
- 区块链入门到实战(31)之Solidity – 第一个程序
为简单起见,我们使用在线Solidity开发工具Remix IDE编译和运行Solidity程序. 第1步 – 在File explorers选项卡下,新建一个test1.sol文件,代码如下: 示例 ...
- 面经手册 · 第7篇《ArrayList也这么多知识?一个指定位置插入就把谢飞机面晕了!》
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 数据结构是写好代码的基础! 说到数据结构基本包括:数组.链表.队列.红黑树等,但当你 ...
- linux网络配置及虚拟机连接不上网排错思路
第1章 操作系统与虚拟软件的使用 1.1 虚拟软件使用方法 Vmware 1.1.1 开启vmware 注: 同时只能开启一个VMware软件,如果开了两个VMware窗口 提示 ...