vue中数据请求axios的封装和使用

目录
  • 一、什么是axios
  • 二、下载方式
  • 三、拦截器
  • 四、请求的封装
  • 五、使用

一、什么是axios

简单的来说,​Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中,我们在项目中会经常用axios请求接口来获取数据。

二、下载方式

直接在当前使用的项目中打开终端:

npm install axios --save 或者yarn  add  axios

三、拦截器

拦截器就是在数据请求的过程中,拦截请求或者拦截响应的技术

  • 请求拦截器:就是在发送请求的时候进行一些操作
  • 响应拦截器:就是拦截在响应的时候进行的一些操作,比如登录错误返回登录状态

实现方法也很简单,直接在src文件下面新建一个utils文件夹,新建js文件,名字随意

import axios from "axios"
let service=axios.create()
service.interceptors.request.use(function (config) {
return config;
}, function (error) {
return Promise.reject(error);
});
export default service

四、请求的封装

封装好的请求一般情况下都是放在api文件夹下面,这样在用的时候也就非常方便了,只要在用的地方引用进去你就可以直接使用

例如:

import axios from "axios"
let getAction=(url)=>{
return new Promise((resolve,reject)=>{
axios({
url,
method:"GET"
}).then((ok)=>{
resolve(ok)
}).catch((err)=>{
reject(err)
})
})
}
export default getAction

五、使用

当你封装好了请求之后使用起来也是非常的方便,在使用的.vue文件中去引用,使用

//
import getAction from @/api/index

到此这篇关于vue中数据请求axios的封装和使用的文章就介绍到这了,更多相关axios封装和使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • vue异步请求数据重新渲染方式

    目录 vue异步请求数据重新渲染 下面介绍一种方法解决 自定义组件异步获取数据重新渲染 视图层 逻辑层 vue异步请求数据重新渲染 vue异步请求数据时往往不能及时更新, 下面介绍一种方法解决 export default {         name: "pic",         created() {            this.getList();         },         data(){             return{num:[]}         }

  • 浅谈vue中get请求解决传输数据是数组格式的问题

    qs的stringify接收2个参数,第一个参数是需要序列化的对象,第二个参数是转化格式,一般默认格式是给出明确的索引,如:arr[0]=1&arr[1]=2 //indices是index的复数格式,因此indices是索引的意思 //bracket是括号的意思,因此arrayFormat:'brackets'代表数组下标为空[] qs.stringify({ arr: [1,2,3] }, { indices: false }) //arr=1&arr=2&arr=3 qs.s

  • Vue.js+HighCharts实现动态请求展示时序数据

    本文实例为大家分享了Vue.js+HighCharts实现动态请求展示时序数据的具体代码,供大家参考,具体内容如下 <template>   <el-container>     <el-header>       <el-menu :default-active="activeIndex" class="el-menu-header" mode="horizontal" @select="ha

  • Vue-cli中post请求发送Json格式数据方式

    目录 post请求发送Json格式数据 举个例子 解决post请求无法携带数据问题 post请求发送Json格式数据 这里就不详细说明了 举个例子 var param = new URLSearchParams();         param.append("productId",this.$route.params.id)         this.axios({             url:"http://39.106.44.63:10086/loadAllProd

  • Vue3中使用typescript封装axios的实例详解

    这个axios封装,因为是用在vue3的demo里面的,为了方便,在vue3的配置里面按需加载element-plus 封装axios http.ts import axios, { AxiosRequestConfig, AxiosRequestHeaders, AxiosResponse } from 'axios' import { IResponseData } from '@/types' import { ElMessage, ElLoading, ILoadingInstance

  • VUE前端从后台请求过来的数据进行转换数据结构操作

    我就废话不多说了,大家还是直接看代码吧` let label(){ let _this = this; let _offset = (_this.pagination.currentPage - 1) * _this.pagination.pageSize let params ={ offset:_offset,//分页偏移量 limit:_limit,//分页查询数量 } labelView(",params).then(res=>{ _this.list = res.data.dat

  • vue3实战教程之axios的封装和环境变量

    目录 axios 基本使用 配置 封装 请求时添加loading 环境变量 总结 axios axios: ajax i/o system. 一个可以同时在浏览器和node环境进行网络请求的第三方库 功能特点: 在浏览器中发送 XMLHttpRequests 请求 在 node.js 中发送 http请求 支持 Promise API 拦截请求和响应 转换请求和响应数据 等等 基本使用 get请求 // 导入的axios是一个实例对象 import axios from 'axios' // a

  • vue本地模拟服务器请求mock数据的方法详解

    目录 原因 场景 方法 mock资源 配置 vue.config.js + settings.js .env.development + .env.production mock-request.js table.js mockDataTest 代码 总结 原因 1.mockjs本地开发的时候用还好,mock数据需要生产时候用就不大行了 2.mock的数据通过module.exports.export实现的时候,npm run build 生产打包的时候,这些假数据会打包进app.js文件里面,

  • vue项目中axios的封装请求

    目录 一.简介 二.封装后 1.封装步骤 2.封装目标 3.使用新的axios封装API 4.使用封装后的axios 一.简介 axios 是一个轻量的HTTP客户端,它基于 XMLHttpRequest 服务来执行 HTTP 请求,支持丰富的配置,支持 Promise,支持浏览器端和 Node.js 端.自Vue2.0起,尤大大宣布取消对vue-resource 的官方推荐,转而推荐 axios.现在 axios 已经成为大部分 Vue 开发者的首选.( 如果你还不熟悉 axios,可以在这里

  • vue中数据请求axios的封装和使用

    目录 一.什么是axios 二.下载方式 三.拦截器 四.请求的封装 五.使用 一.什么是axios 简单的来说,​Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中,我们在项目中会经常用axios请求接口来获取数据. 二.下载方式 直接在当前使用的项目中打开终端: npm install axios --save 或者yarn  add  axios 三.拦截器 拦截器就是在数据请求的过程中,拦截请求或者拦截响应的技术 请求拦截器:就是在发送请求的时

  • vue中post请求以a=a&b=b 的格式写遇到的问题

    vue开发过程中,总会碰到一些问题,当然任何问题都不能阻止我们前进的脚步,话不多说,下面是我在开发过程中请求参数所碰到的问题 1,在暂时没有后台数据的时候,post请求的参数大多会以   name:a,age:b   的格式去写 import axios from 'axios'; axios.post(url,{ name:'0',age:'' },{emulateJSON: true}, { // 这里是跨域写法 headers:{"Content-Type": "app

  • vue中element-ui使用axios上传文件

    本文实例为大家分享了vue中element-ui使用axios上传文件的具体代码,供大家参考,具体内容如下 环境:vue2.5.6+axios0.18.1+element-ui2.15.1 在使用element UI的upload组件上传文件时,遇到一些问题,网上的说法不尽如是,在此记录 其实最主要的估计就是axios相关的问题,因我们平时开发的vue项目都是封装过axios后进行api的调用,但上传操作跟一般的api请求不同,所有总是报错,故需要建立新的axios实例. 文件上传类型可以在el

  • 详解在Vue中如何使用axios跨域访问数据

    最近在项目中需要用到axios,所以就恶补一下这个axios到底是什么东东.越来它是vue-resource的替代品,官网也说了,以后都用axios, vue-resource不在维护.那么这个axios怎么用呢,上网搜索了一大堆,基本上都是雷同,我也不知道那些作者有没有在本地测试过.至少我按照网上的做法,总不能成功.经过几天的奋斗,我终于把它搞清楚了,为了不让其他的小伙伴们走弯路,我把我在实际操作中的例子分享给大家,希望对大家有用. 一.安装axios 老规矩,要想使用axios,我们得安装它

  • vue+ts下对axios的封装实现

    虽然vue中axios的使用已经十分方便,但是实际我们的日常操作中可能为了接口的规则一致,来创建一个统一管理的全局方法达到简化操作.而且在实际接口对接中,我们大多都需要对请求和响应进行拦截来进行token以及回调状态码的处理.那么我基于自己的需求简单分装了一下.(之前很少接触vue,主要用的ng和react,这次新项目想用vue来弄,熟悉一下vue的一些新特性和方法,有啥不对的,欢迎大家批评指正) 前提: 熟悉前端ts, node等等. 1. 安装axios npm install axios

  • Vue实现数据请求拦截

    本文实例为大家分享了vue数据请求拦截的具体代码,供大家参考,具体内容如下 在src文件夹下创建utils文件夹 同时在文件夹下创建request.js和auth.js文件 request.js为请求拦截.请求数据封装主入口 auth.js为设置token和删除token及判断用户是否登录封装主入口 auth.js (封装token) export function isLogin() { if (localStorage.getItem('token')) { return true; } e

  • vue中get请求如何传递数组参数的方法示例

    前言: vue中在与后端进行数据交互时,使用axios发送请求,不做配置直接使用get请求传递数组类型参数的时候,后端是无法接收数据的,需要对axios一些简单的配置才能让后端完美的接收数组 1.问题 示例代码 let params = { statusList: ['OVERDUE', 'DELAY'] } this.$http.get('/list', params) .then(res => {}) .catch(e => {}) 上述代码在不做配置的时候请求信息为:/list?stat

  • vue中循环请求接口参数问题及解决

    目录 vue 循环请求接口参数问题 vue for循环请求同一url参数不同但参数覆盖 vue 循环请求接口参数问题 今天遇到一个循环请求问题 先上代码 function(){       var num = this.eventType.length;       for (var i = 0; i < num; i++) {         arr.eventType = this.eventType[i];         console.log(arr.eventType, i, "

  • vue中post请求报400的解决方案

    目录 vue post请求报400 vue 异步请求问题 1. get 请求方式 2. post 请求方式 3. axios 全局设置 4. 请求代理 vue post请求报400 1.为默认数据格式为json,发请求时参数报错 通过以下方式修改数据格式即可 import qs from 'qs'; // import qs from 'querystring' const data = { 'bar': 123 }; const options = {   method: 'POST',  

随机推荐