axios的get和post封装

前端封装的方法

//http基本请求

import axios from 'axios';
import { resolve } from '../../build/webpack.base.conf';
import router from '../router';
axios.defaults.timeout = 5000;  //超时时间是5秒
axios.defaults.withCredentials = true; //允许跨域

//Content-type 响应头
axios.defaults.headers.post['Content-type'] = 'application/x-www-from-urlencoded;charset=UTF-8';

//基础url
axios.defaults.baseURL = "http://localhost:8888";

//响应拦截器
axios.interceptors.response.use(
    response => {
        //如果response里面的status是200,说明访问到接口了,否则就是错误的.
        if(response.status == 200){
            return Promise.resolve(response);   //Promise是一个异步框架. 继续往下执行
        }else{
            return Promise.reject(response);
        }
    },
    error => {
        if(error.response.status){
            switch(error.response.status){
                case 401:   //未登录
                    router.replace({
                        path : '/',
                        query : {
                            redirect: router.currentRoute.fullPath
                        }
                    });
                    break;
                case 404:   //没有找到地址
                    break;
            }
            return Promise.reject(error.response);  //返回一个错误信息
        }
    }
);

/**
 * 封装get方法
 */
export function get(url,params={}){ //相对地址,参数. 如果不穿参数的话默认是空
         //异步访问
    return new Promise((resolve,reject) =>{
        axios.get("url,{params:params}")
        .then(response =>{
            resolve(response.data);
        })
        .catch(err =>{
            reject(err);
        })
    });
}

/**
 * 封装post方法
 */
export function psot(url,data={}){ //相对地址,用表单所以用data对象,而不是参数params
    //异步访问
return new Promise((resolve,reject) =>{
   axios.post(url,data)
   .then(response =>{
       resolve(response.data);
   })
   .catch(err =>{
       reject(err);
   })
});
}

===

Avoided redundant navigation to current location错误

import Router from 'vue-router'
const originalPush = Router.prototype.push
Router.prototype.push = function push(location) {
  return originalPush.call(this, location).catch(err => err)
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值