iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Axios在vue项目中的封装步骤
  • 450
分享到

Axios在vue项目中的封装步骤

2024-04-02 19:04:59 450人浏览 安东尼
摘要

目录1. 什么是AxiOS?2. 回顾ajax3. 回顾Promise4. Vue封装Axios1. 什么是Axios? Axios 是一个基于 promise 的网络请求库,可以用

1. 什么是Axios?

Axios 是一个基于 promise 的网络请求库,可以用于浏览器和 node.js,是一个第三方插件,第三方异步请求工具

Axios的特点:

  • 可以运行在浏览器和node.js环境中
  • 基于promise,可以调用promiseapi
  • 默认发送的是get请求,默认post请求发送的数据格式是JSON
  • 除了表单格式数据,对请求数据和响应数据可以自动转换JSON数据格式。
  • 可以对请求和响应做拦截

2. 回顾Ajax

Ajax的特点:

  • 异步的javascript和XML
  • 可以在浏览器中运行,但是不可以在node.js环境下运行
  • 请求数据和响应数据需要手动转换格式
  • 请求头也需要手动设置

Ajax创建步骤:

    // 1.创建XMLHttpRequest实例
    let xhr = new XMLHttpRequest()
    // 2.打开一个连接
    xhr.open('请求方式get/post','请求地址')
    // 3.发送请求
    // 必要时还需设置请求头格式:JSON/application/x-www-fORM-urlencoded
    xhr.setRequestHeader()
    // 必要时还需转换请求数据格式:JSON.stringfy(参数)/Qs.stringfy(参数)
    xhr.send(请求参数)
    // 4.接收响应
    xhr.onreadystatechange=function(){
      // 判断:请求是发送完成和请求是否发送成功
      if(xhr.readyState===4 && xhr.status===200){
        // 接收响应:必要时还要转换响应数据的格式 JSON.parse(xhr.response)
        console.log(xhr.response);
      }
    }

3. 回顾Promise

Promise是一种异步编程解决方案。Promise构造函数接收两个参数:resolve和reject。resolve作为成功的回调函数,reject作为失败的回调函数。

  // 1.创建promise对象
        let p1=new Promise((resolve,reject)=>{
            // resolve,reject是回调函数
            // resolve函数是promise对象最终状态为成功状态
            //reject函数是promise对象最终状态为失败状态
            
            //非异步
            //假设异步操作执行成功,修改promise对象状态为成功状态
            if(3>2){
                resolve('success')
            }else{
                //假设异步操作执行失败,修改promise对象状态为失败状态
                reject('error')
            }
        })
        //如何提供resolve和reject函数
       //在promise原型里有then和catch
        // 1.then方法表示的是成功之后的回调,对应resolve
        // 2.catch方法表示的是失败之后的回调,对应reject
        p1.then((res)=>{
            console.log(res,'成功回调')
        }).catch((error)=>{
            console.log(error,'失败回调')
        }).finally(()=>{
            console.log('最终执行')
        })
		//如果then里面传了两个回调函数,第一个代表成功之后的回调,第二个代表失败之后的回调,分别代表resolve()和reject()
		p1.then((res)=>{
            console.log(res,'成功')
        },(err)=>{
            console.log(res,'失败')
        });

4. Vue封装Axios

Axios是一个基于promise的HTTP库,可以用在浏览器和node.js中。Jquery中也封装了ajax机制,但是仅适用于浏览器。

功能特点:

  • 在浏览器和node.js中皆可用
  • 自动转化请求数据和响应数据格式为JSON数据格式
  • 可以做拦截请求和响应拦截
  • 可以调用Promise的API
  • axios默认发送请求为get方式,默认数据格式为JSON格式

封装步骤:

项目中安装axios:npm i -S axios创建封装axios的文件夹并导入axios,根据项目所需创建axios API:

import axios from "axios";
import Qs from 'qs';
let qs= Qs;
// 创建axios实例对象
let instance = axios.create({
	baseURL:"http://121.199.0.35:8888",
	timeout:5000
});
// 请求拦截器 
instance.interceptors.request.use(config=>{
	if(config.url!=='/user/login'){
		config.headers.Authorization='eyJ0eXaiOiJKV1QiLCJhbGCiOiJIUzI1NiJ9.eyJ1c2VySWQiOiJNalU9Iiwic3ViIjoiYWRtaW4xIiwiaXNzIjoiMDk4ZjZiY2Q0NjIxZDM3M2NhZGU0ZTgzMjYyN2I0ZjYiLCJpYXQiOjE2NjQ5MzY4OTksImF1ZCI6InJlc3RhcGl1c2VyIiwiZXhwIjoxNjY1MTA5Njk5LCJuYmYiOjE2NjQ5MzY4OTl9.uLSFoGrqdvZS-3KA1HgjgshUZOqGbMWO5Rpr1yzMCAY';
	}
	return config
},error=>{
	return Promise.reject(error)
});
// 响应拦截器 ---对axios封装响应数据做拦截
instance.interceptors.response.use(response=>{
	let res=response.data;
	return res
},error=>{
	return Promise.reject(error)
});

// 封装get方法
export function get(url,params){
	return instance.get(url,{
		params,
	})
}
//封装postJSON方法 json数据格式 --登录接口
export function postJSON(url,data){
	return instance.post(url,data);
}

// 封装post方法 表单格式数据
export function post(url,data){
	return instance.post(url,qs.stringify(data))
}

export default instance

到此这篇关于Axios在vue项目中的封装方法的文章就介绍到这了,更多相关Axios vue封装内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Axios在vue项目中的封装步骤

本文链接: https://www.lsjlt.com/news/168913.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Axios在vue项目中的封装步骤
    目录1. 什么是Axios?2. 回顾Ajax3. 回顾Promise4. Vue封装Axios1. 什么是Axios? Axios 是一个基于 promise 的网络请求库,可以用...
    99+
    2024-04-02
  • Vue项目中如何封装axios
    本文小编为大家详细介绍“Vue项目中如何封装axios”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue项目中如何封装axios”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、axios是什么axios 是...
    99+
    2023-06-30
  • Vue项目中封装axios的方法
    目录一、axios是什么特性基本使用二、为什么要封装三、如何封装设置接口请求前缀设置请求头与超时时间封装请求方法请求拦截器响应拦截器小结参考文献一、axios是什么 axios 是...
    99+
    2024-04-02
  • vue项目中axios的封装请求
    目录一、简介二、封装后1.封装步骤2.封装目标3. 使用新的 axios 封装API4.使用封装后的axios一、简介 axios 是一个轻量的HTTP客户端,它基于 XMLHttp...
    99+
    2024-04-02
  • 如何在vue项目中使用封装后的axios
    这篇文章给大家介绍如何在vue项目中使用封装后的axios,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。为什么要使用VueVue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以创建可维护性和可测试...
    99+
    2023-06-06
  • 在项目中封装axios的实战过程
    目录前言axios封装的好处封装思路配置的优先顺序axios实例配置1、定义一些常规的配置2、请求前加一些我们需要的操作,3、请求返回后,添加拦截操作,请求接口方法统一管理最后放一下...
    99+
    2024-04-02
  • Vue项目中封装组件的简单步骤记录
    目录前言 如何封装一个Toast组件 使用案例 具体实现 总结前言 随着业务的发展 功能性开发 已经无法满足我们对于前端的需求,这一篇主要带大家体验一下如何开发一套属于自己的组件库...
    99+
    2024-04-02
  • vue项目中axios封装请求的示例分析
    小编给大家分享一下vue项目中axios封装请求的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、简介axios 是一个轻量的HTTP客户端,它基于 XMLHttpRequest 服务来执行 HTTP 请求,支持...
    99+
    2023-06-29
  • 项目中使用Typescript封装axios
    目录写在前面基础封装拦截器封装类拦截器实例拦截器接口拦截封装请求方法取消请求准备工作取消请求方法的添加与删除取消请求方法测试测试请求方法测试取消请求写在最后写在前面 虽然说Fetch...
    99+
    2024-04-02
  • 如何在vue中封装axios
    本篇文章为大家展示了如何在vue中封装axios,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。基础版第一步:配置axios首先,创建一个Service.js,这里面存放的时axios的配置以及拦截器...
    99+
    2023-06-15
  • vue项目使用axios封装request请求的过程
    目录一、封装axios二、封装api 函数三、页面中使用一、封装axios 1.src 目录中新建utils文件夹2.utils文件中建立request.js文件 request....
    99+
    2023-05-17
    vue axios封装request请求 vue axios封装请求
  • vue封装axios与api接口管理的完整步骤
    目录一、前言 二、axios封装步骤三、api接口统一管理总结一、前言  axios的封装和api接口的统一管理,其实主要目的就是在帮助我们简化代码和利于后期的更...
    99+
    2024-04-02
  • 在Vue中是如何封装axios
    目录1、安装1、引入3、接口根地址4、使用事例4.1下载4.2get4.3post1、安装 npm install axios; // 安装axios 1、引入 imp...
    99+
    2024-04-02
  • vue3项目中封装axios的示例代码
    目录axios的基本使用axios.all()方法axios一些基本配置axios的拦截器封装axios-封装基础属性封装拦截器封装公用的拦截器对单个请求传入拦截器对request请...
    99+
    2022-12-19
    vue3封装axios vue3项目中封装axios vue封装axios
  • 项目中Axios二次封装实例Demo
    1.为什么做封装? 方便代码整体调用、对请求做公共处理、个性化定制 2.别人已经封装了很多,为什么不直接修改使用? 封装思路不适合自身项目 封装后调用不方便 3....
    99+
    2024-04-02
  • Vue项目的网络请求代理到封装步骤详解
    目录1.创建vue项目2.安装axios3.进行config.js配置4.main.js里引入5.src目录下新建Utils文件夹,在内封装request.js6.以login路由为...
    99+
    2023-05-18
    Vue网络请求代理到封装 Vue网络请求
  • vue项目中进行svg组件封装及配置方法步骤
    最近刚入新的公司,拿到项目之后,发现一个有趣的事情就是标题的icon是用svg来弄的,这篇文章彻底弄清楚怎么使用 1.创建vue项目(通过cli来搭建脚手架,该测试项目是用vue...
    99+
    2024-04-02
  • Vue项目中如何封装axios(统一管理http请求)
    1、需求说明 在使用Vue.js框架开发前端项目时,会经常发送ajax请求服务端接口,在开发过程中,需要对axios进一步封装,方便在项目中的使用。 2、Vue项目结构 在本地创...
    99+
    2024-04-02
  • 详解Vue中AXIOS的封装
    目录单独建一个network文件axios拦截器总结单独建一个network文件 建立一个network.js 创建 import axios from 'axios'; expor...
    99+
    2024-04-02
  • 项目中Axios二次封装的示例分析
    这篇文章主要介绍项目中Axios二次封装的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.为什么做封装?方便代码整体调用、对请求做公共处理、个性化定制2.别人已经封装了很多,为什么不直接修改使用?封装思路不...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作