vue中axios 配置请求拦截功能 及请求方式如何封装

main.js 中:

import axios from ‘................/axios‘

axios.js 中:

//axios.js
import Vue from ‘vue‘
import axios from ‘axios‘
Vue.prototype.$http = axios

//http request 封装请求头拦截器
axios.interceptors.request.use(config => {
  // console.log("request")
  // console.log(config)

  //请求方式
  let method = config.method.toLowerCase();
  if (method === ‘get‘ || method === ‘delete‘) {
    Object.assign(config.params, {
      "test": "testVAl"
    });
  }
  return config;
}, error => {
  return Promise.reject(err);
});

//http response 封装后台返回拦截器
axios.interceptors.response.use(response => {
  // console.log(response)
//当返回信息为未登录或者登录失效的时候重定向为登录页面
  //   if (response.data.code == ‘W_100004‘ || response.data.message == ‘用户未登录或登录超时,请登录!‘) {
  //     router.push({
  //       path: "/",
  //       querry: {
  //         redirect: router.currentRoute.fullPath
  //       } //从哪个页面跳转
  //     })
  //   }
  if (typeof response.data === ‘string‘) {
    return JSON.parse(response.data);
  } else {
    return response;
  }
}, error => {
  return Promise.reject(error)
});

使用:

this.$http.get(‘/api/......‘, {params:{}}).then(res => {
                console.log(res)
            }, res => {
                // error callback
            });

原文地址:https://www.cnblogs.com/xiangsj/p/9030623.html

时间: 2024-10-28 20:17:02

vue中axios 配置请求拦截功能 及请求方式如何封装的相关文章

vue中axios的基本配置

vue中axios的基本配置 1.配置默认地址 axios.defaults.baseURL = ""; 2.发送数据详解 axios 使用 post 发送数据时,默认是直接把 json 放到请求体中提交到后端的.也就是说,我们的 Content-Type 变成了 application/json;charset=utf-8 ,这是axios默认的请求头content-type类型.但是实际我们后端要求的 'Content-Type': 'application/x-www-form-

聊聊 Vue 中 axios 的封装

聊聊 Vue 中 axios 的封装 axios 是 Vue 官方推荐的一个 HTTP 库,用 axios 官方简介来介绍它,就是: Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 作为一个优秀的 HTTP 库,axios 打败了曾经由 Vue 官方团队维护的 vue-resource,获得了 Vue 作者尤小右的大力推荐,成为了 Vue 项目中 HTTP 库的最佳选择. 虽然,axios 是个优秀的 HTTP 库,但是,直接在项目中使用并不是那

vue 中axios 的基本配置和基本概念

ajax:异步请求,是一种无需再重新加载整个网页的情况下,能够更新部分网页的技术 axios:用于浏览器和node.js的基于promise的HTTP客户端 axios的安装: cmd命令行进入到vue项目下,执行npm install axios 然后执行提示npm install --save axios vue-axios 配置方法: 打开vue的编辑器,找到当前项目的main.js文件,输入: import axios from 'axios' Vue.prototype.axios =

vue中axios请求简单封装

1.http.js /**axios封装 * 请求拦截.相应拦截.错误统一处理 */ import axios from 'axios'; import QS from 'qs'; import { Toast } from 'vant'; import store from '../store/index' // 环境的切换 if (process.env.NODE_ENV == 'development') { axios.defaults.baseURL = '/api'; } else

axios配置及使用(发起请求时带上token)

1.安装 利用npm安装 npm install axios --save 2.引入即可使用 import axios from 'axios' 3.目录 4.各个文件设置: (1)env.js export default { // 接口地址 baseURL: 'http://localhost:8090/scheduleweb/', isDev: true } (2)index.js 备注:road.js定义了一个新的Vue对象,目的是调用elementUI的提示信息($message,比如

vue中axios安装及使用

axios  基于HTTP客户端的浏览器和node.js 网址链接:https://github.com/axios/axios 1.特征: 制作,使XMLHttpRequest从浏览器 制作,使http来自node.js的请求 支持承诺API 拦截请求和响应 转换请求和响应数据 取消请求 JSON数据的自动转换 客户端支持防止XSRF 2.安装: Using npm: $ npm install axios Using bower: $ bower install axios Using ya

vue中引入json数据,不用本地请求

1.我的项目结构,需要在Daily.vue中引入daily.js中的json数据 2.把json数据放入一个js文件中,用exports导出,vscode的json格式太严格了,很多数据,调了一个多小时的格式................. 例如:daily.js module.exports = { 'tmbTmbsContent': [[ {'label': '123'} ]], } 2.在Daily.vue文件中引入 import Daily from '@/assets/data/da

vue中对element的弹框messagebox的二次封装

在vue中对确认框的二次封装 使用场景:在页面中做某些需要警告的操作时的弹框提示 1.在utils文件夹下新建一个confirm.js文件来对messageBox的封装,内容如下: /** confirm.js */ import { MessageBox } from 'element-ui' export function handleCofirm(text = '确定执行此操作吗?', type = 'warning') { return MessageBox.confirm(text,

vue中axios发送post请求,后端(@RequestParam)接不到参数

遇到的问题描述 :axios post 请求,后端接收不到参数. 我们的接口是java,用@RequestParam来接收前端的参数 解决方案:使用qs:axios中已经包含有qs,所以无需重新安装,直接引入就好 import Qs from 'qs'//引入qs let chedata = { data: encStr, sign: md5.hexMD5(che), timestamp: timestamp, } //chedata是我需要传递给后端的参数 console.log(Qs.str