vue项目对axios的全局配置

news/2024/7/4 13:24:50 标签: javascript, json

转载:https://www.cnblogs.com/djjlovedjj/p/9050841.html

标准的vue-cli项目结构(httpConfig文件夹自己建的):

api.js:

//const apiUrl = 'http://test';//测试域名,自己改成自己的
 const apiUrl = 'http://xxoo';//线上域名,自己改成自己的 

export default apiUrl

http.js:

复制代码
/**
 * ajax请求配置
 */
import axios from 'axios'
import apiURL from './api.js'
//import Qs from 'qs'

import cookie from '../../static/js/cookie.js'

// axios默认配置
axios.defaults.timeout = 10000;   // 超时时间
axios.defaults.baseURL = apiURL;  // 默认地址

//整理数据
axios.defaults.transformRequest = function (data) {
//data = Qs.stringify(data);
data = JSON.stringify(data);
  return data;
};

// 路由请求拦截
// http request 拦截器
axios.interceptors.request.use(
  config => {
    //config.data = JSON.stringify(config.data);  
    config.headers['Content-Type'] = 'application/json;charset=UTF-8';
    //判断是否存在ticket,如果存在的话,则每个http header都加上ticket
    if (cookie.get("token")) {
        //用户每次操作,都将cookie设置成2小时
        cookie.set("token",cookie.get("token") ,1/12)    
        cookie.set("name",cookie.get("name") ,1/12)
     config.headers.token = cookie.get("token");
     config.headers.name= cookie.get("name");
    }
    
    return config;
  },
  error => {
    return Promise.reject(error.response);
  });

// 路由响应拦截
// http response 拦截器
axios.interceptors.response.use(
  response => {
    if (response.data.resultCode=="404") {
        console.log("response.data.resultCode是404")
        // 返回 错误代码-1 清除ticket信息并跳转到登录页面
//      cookie.del("ticket")
//      window.location.href='http://login.com'
        return
    }else{
        return response;
    }
  },
  error => {
    return Promise.reject(error.response)   // 返回接口返回的错误信息
  });
export default axios;
复制代码

main.js

import axios from './httpConfig/http'
Vue.prototype.$http = axios

请求示例:

复制代码
//post
this.$http.post('/itemProps/addItemProps',{   name: this.name,   parentId:this.parentId,   sortOrder:0 }).then((res)=>{
  console.log(res) }).catch((err)=>{ alert("请求失败") })
//get
this.$http.get("/roles/getPersonnelInfoRoles",{
  params:{
    key:"value"
  }
}).then((res) => {
  console.log(res)
}).catch((err)=>{
  alert("请求失败")
})
复制代码

转载于:https://www.cnblogs.com/i6010/articles/10131113.html


http://www.niftyadmin.cn/n/1818988.html

相关文章

final修饰和StringBuffer的几个案例(拼接,反转,对称操作)

final关键字修饰时如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象,但引用变量不能变,引用变量所指向的对象中的内容还是可以改变的…

模糊查询于聚合函数

通配符: _ 单个字符  %任意字符  []范围内的字符  [^]范围外的字符 SELECT * FROM StudentUPDATE Student SET StudentName王波 WHERE StudentNoY21003011--模糊查询:查询学生表中姓’冯‘的学生记录SELECT * FROM Student WHERE StudentName L…

html导出excel

function base64 (content) {return window.btoa(unescape(encodeURIComponent(content)))}function exportTab () { // 导出let tath thislet table document.getElementById(tableID) //tableID为dom层 table IDlet excelContent table.innerHTMLlet excelFile "&…

云评论

http://changyan.kuaizhan.com/static/help/index.html 转载于:https://www.cnblogs.com/guochen/p/11081671.html

十分钟构建双十一交互分析大盘

2019独角兽企业重金招聘Python工程师标准>>> 提到双十一很多人第一印象是一张成交金额跳动的炫酷大屏,的确大盘在阿里双十一中几乎是每个团队标配,例如: CEO看业务:把重要数据放到一张大屏上,简洁而有冲击力…

移动端开发-Day1

什么是Node? 它是一个基于Chrome v8引擎的js运行环境,采用高效轻量级的事件驱动,非阻塞式的I/O模型。 非阻塞I/O? 例如,当程序运行到某一函数时,调用后立即返回,不需要等待函数执行完成&#xf…

建议是在公司发不出工资前换好工作

在移动互联网兴起的这几年,无论是从网上还是身边都看到了很多程序员被无良公司拖欠工资,可能是公司倒闭,也可能是老板跑路。我个人感觉程序员是一个相对单纯的群体(很好骗),尤其是刚工作的年轻人。油腻的创…

何谓Kubernetes以及企业如何从DevOps趋势中获益

什么是容器,Kubernetes适合应用于什么地方,成功部署需要什么工具?当前,容器的使用可谓如火如荼。不仅受到开发人员的喜爱,而且也倍受企业追捧。如果贵公司的IT部门正在寻找一种更快速、更简单的应用开发方式时,那您应…