vue 文件 http配置 跨域问题 俱全
时间:2019-11-27
本文章向大家介绍vue 文件 http配置 跨域问题 俱全,主要包括vue 文件 http配置 跨域问题 俱全使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
/** * http配置 */ import axios from 'axios' import qs from 'qs' import store from '../store/index' import router from '../router/index' import {getStore} from 'src/config/cache' const instance = axios.create(); // axios 配置 //网络连接失败(连接不上)的时候,延迟5s报错吗 instance.defaults.timeout = 120000; console.log(process.env.NODE_ENV); if (process.env.NODE_ENV === 'production') { //配置生产接口域名 instance.baseURL = "http://bt-lzxkm.yunzhenshi.com.cn/lzxk/" // // instance.baseURL = "http://192.168.14.32:8082/lzxk/" // 这里不加 http:// 会有问题 会拼接 192.168.14.32:8082 } else { //配置开发接口域名 instance.baseURL = "http://192.168.18.135:8080/" // // instance.baseURL="http://192.168.18.146:8080/" // // instance.baseURL="http://192.168.18.142:8080/" // } axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8' //把 token 放在请求的头部。 axios.interceptors.request.use = instance.interceptors.request.use instance.interceptors.request.use( config => { //在请求拦截器中配置公共参数 sessionId //const sessionId = "9999"; // 如果是post请求就把默认参数拼到data里面 // 如果是get请求就拼到params里面 let accountNum = ''; if (getStore('accountNum')) { accountNum = getStore('accountNum'); } let accountName = ''; if (getStore('accountName')) { accountName = getStore('accountName'); } if (config.method === 'post') { let data = qs.parse(config.data); config.data = qs.stringify({ accountNum: accountNum, accountName: accountName, ...data }); } else if (config.method === 'get') { config.params = { accountNum: accountNum, ...config.params } } return config }, err => { return Promise.reject(err) }, ) // http response 拦截器 instance.interceptors.response.use( response => { if (response.data.code == 12105){ console.log("返回过期错误码:"+response.data.code); alert("登录过期,请重新登录"); router.currentRoute.path !== 'login' && router.replace({ path: 'login', query: {redirect: router.currentRoute.path}, }); return Promise.reject(response.data); } else if (response.data.code && response.data.code != 1) { alert(response.data.msg); return Promise.reject(response.data); } else { return response } }, error => { console.log(error); if (error.response) { switch (error.response.status) { case 401: // 401 清除token信息并跳转到登录页面 store.commit(types.LOGOUT) // 只有在当前路由不是登录页面才跳转 router.currentRoute.path !== 'login' && router.replace({ path: 'login', query: {redirect: router.currentRoute.path}, }) } } return Promise.reject(error); // return Promise.reject(error.response.data) }, ) export default instance
原文地址:https://www.cnblogs.com/xiaozhu-zhu/p/11945053.html
- 基类、接口的应用——表单控件:一次添加、修改一条记录,一次修改多条记录。(上)
- 使命必达: 深入剖析WCF的可靠会话[协议篇](下)
- 分页控件和几个相关控件的源代码
- Python编程中的反模式
- Python机器学习库:Scikit-Learn简介
- 很简单的企业管理器---我写程序的方式,几个自定义控件。
- 使命必达: 深入剖析WCF的可靠会话[原理揭秘篇](上)
- 其实添加数据也可以这样简单——表单的第三步抽象(针对UI及后置代码)
- 为Symfony2和Redis正名,基于PHP的10亿请求/周网站打造
- 如何使用Python基线预测进行时间序列预测
- 如何使用统计显着性检验来解释机器学习结果
- 其实添加数据也可以这样简单——表单的第一步抽象(针对数据访问层)《怪怪设计论: 抽象无处不在 》有感
- WCF服务端运行时架构体系详解[上篇]
- 使命必达: 深入剖析WCF的可靠会话[编程篇](下)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 常用功能加载宏——单元格字符处理
- 【翻译】Rust生命周期常见误区
- 代码管理
- 【翻译】200行代码讲透RUST FUTURES (3)
- ECCV2020 | FReLU:旷视提出一种新的激活函数,实现像素级空间信息建模
- 字符处理——大小写转换编码知识扩展
- 【Rust日报】2020-07-26 - Easy Rust 让Rust文档更容易理解
- VBA使用API_04:标准控件
- OpenCV与图像处理(五)
- 常用功能加载宏——工作表目录
- VBA操作VBA——VBA工程对象
- 前端|3D立体视频翻转动画
- 利用STS临时密钥服务快速搭建直传页面的实践
- 常用功能加载宏——单元格聚光灯
- VBA操作VBA——代码操作