首页
学习
活动
专区
圈层
工具
发布

vue3 + vite 进行axios请求封装及接口API的统一管理

一、前言 这篇文章跟vite关系不大,下篇写环境变量配置的时候就是vite相关了,今天这里主要讲一下在vue3中axios的实战用法以及Api的统一管理,手把手教学望各位在这里能碰擦出灵感的火花,放飞五彩的思绪...二、目录结构 src目录下新建api文件, api.ts 进行接口API的统一管理 axios.ts 封装请求配置拦截器 status.ts 管理接口返回状态码 三、axios.ts 代码内逐行解释...= 60000; // 请求地址,这里是动态赋值的的环境变量,下一篇会细讲,这里跳过 // @ts-ignore axios.defaults.baseURL = import.meta.env.VITE_API_DOMAIN...{ return response; }, error => { const {response} = error; if (response) { // 请求已发出...`; }; 复制代码 五、api.ts 引入axios导出的request,按功能模块进行接口的管理 import { request } from '.

20.4K61
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Vue合理配置axios并在项目中进行实际应用

    =>{ // 失败的回调 }); /* 支持所有http请求以及请求取消、并发请求等功能,更多细节以及使用方法移步官方文档 文档: [axios文档](http://www.axios-js.com...当需要特殊请求头时,将特殊请求头作为参数传入,覆盖基础配置 }, post:{ 'Content-Type': 'application/json;charset=utf-8'...当需要特殊请求头时,将特殊请求头作为参数传入,覆盖基础配置 } }, // 在向服务器发送请求前,对数据进行处理,axios默认会序列化数据 // transformRequest:[function...response.data; }, function(error) { if(error){ // 请求已发出,但不在2xx范围内 errorHandle(error.status..._axios.post(`${base.lk}/login`,params); }, // 测试post接口 postJSON(params){

    2.5K20

    【玩转全栈】—— Django 连接 vue3 保姆级教程,前后端分离式项目2025年4月最新!!!

    如果该银行网站对某些敏感操作(如转账)的安全措施不足,恶意网站可以通过自动提交表单或发送AJAX请求的方式,利用你的身份和已登录状态向银行网站发起转账请求。...由于请求是从你的浏览器发出的,同时包含有效的会话Cookie,银行服务器无法区分这个请求是合法的还是伪造的,从而可能导致资金被非法转移。...验证Token:当用户提交表单时,无论是通过POST请求还是其他非安全方法(如PUT、DELETE等),Django都会检查请求中的CSRF Token是否与存储在Cookie中的Token相匹配。...安全性保障:这种方法有效地阻止了第三方网站直接构造请求并利用已登录用户的会话信息执行未授权操作的可能性,因为它们无法获取到正确的CSRF Token。...配置 Vite 代理后,再使用 axios 发送请求给 Django: 这里我再给个示例: 前端通过 /api/ask 发送请求,携带 CSRF Token 请求头,将用户输入的 question 以

    2.1K10

    一文掌握Axios:前后端数据交互竟如此简单

    ); }); 这里的get 方法发出了一个 GET 请求,访问https://api.example.com/users,然后通过.then() 获取成功的响应数据,通过.catch() 处理请求错误...发送一个 POST 请求 接下来,我们来发送一个 POST 请求,提交一个新的用户数据: import axios from 'axios'; const newUser = { name: '方才兄...', age: 30, }; axios.post('https://api.example.com/users', newUser) .then(response => { console.log...= '请求错误'; break; case 401: message = '未授权,请重新登录...如果项目中大量依赖 API 请求,axios 可以大大简化代码,提高开发效率。 总结扩展 在本文中,我们已经全面介绍了Axios 的基本使用,包括如何发送请求、处理响应、配置拦截器、处理错误等。

    2.2K20

    axios如何跨域请求_前端跨域请求

    axios 跨域请求详情 写这篇文章的背景是因为之前遇到的,在跨域的情况下通过 axios 发起的 get 请求正常,post 请求会在正式请求发送之前先发送一个 opstions 请求,而后端接口没有兼容...,而是直接向服务端发送请求,什么是 CORS预检 咱们后面说,其匹配的规则大致如下: 1....json 格式,故进行 POST 请求会先发出预检请求,若服务端对预检请求的响应为不支持,则请求终止。...处理 POST 请求数据,方式有以下两种: 1 通过 URLSearchParams 生成POST 请求的数据 2 使用 qs 库的 stringify api 对请求数据进行转换(若请求数据中某个字段的值为引用类型...(url, data) // 处理数据 return res.data } 通过以上方式即可将 POST 预检请求转换为简单请求,其好处不言而喻,对于多个 POST 请求而言,可以减少一半的请求数量,且在一些服务端比较不能改动的场景更为适用

    3.6K40

    简述 HTTP 请求与跨域资源共享 CORS

    「授权(Authorization)」 — 这是服务器用来识别用户的。与 cookie 表头不同,该表头必须由开发人员在发送请求时手动设置。通常用于 API 请求和 JWT 身份验证。...「请求体」(可选):向服务器发出 POST、PUT、PATCH 请求时,需要发送一个请求体报文,该报文告诉服务器你想要发送什么数据。...示例: axios.post(‘/users’, {id: “5fddfefc4fbd19494493cd71”, name: "username"} // 这部分是请求体 ).then(console.log...) 「axios」 是一个发送请求的库。...浏览器还提供了一个叫做 「fetch」 的函数,可以用来发送请求。另外还有一个用于发送请求的过时请求库。 「post」 是请求方法,表明我们正在向服务器发送信息。

    1.6K10

    Axios与Java Spring构建RESTful API服务集成指南

    Axios这个JavaScript库确实好用,Promise-based的设计让异步请求变得简单。...本文会详细讲解Axios怎么发请求,Spring怎么接收处理,涵盖常见的CRUD操作、搜索功能,还有批量处理这些实际开发中经常遇到的场景。...1.1 为什么选择AxiosAxios在前端HTTP库中算是佼佼者,原因很简单:异步数据交互方面,Axios让Ajax请求变得轻松,和后端RESTful API对接毫无压力。...跨域请求支持是原生的,不用额外配置就能处理CORS问题。请求/响应拦截器这个功能特别实用,可以在请求发出前统一添加token,或者在响应回来后统一处理错误。API设计也很人性化,上手快,配置选项丰富。...修改数据要用POST、PUT、DELETE。敏感数据要加密不管用什么HTTP方法,敏感数据传输都要用HTTPS。做好认证和授权OAuth、JWT这些认证机制要用起来,确保只有合法用户能访问和修改数据。

    28020

    手摸手vue2+Element-ui整合Axios

    后端WebAPI准备跨域问题为了保证浏览器的安全,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源,称为同源策略,同源策略是浏览器安全的基石同源策略( Sameoriginpolicy)是一种约定...ur不同即为跨域,此时无法读取非同源网页的 Cookie,无法向非同源地址发送AJAX请求解决跨域问题CORs( Cross- Origin Resource Sharing)是由W3C制定的一种跨域资源共享技术标准...axios官网 https://www.axios-http.cn/docs/req_configvue2项目安装axiosnpm i axiosVue与axios整合配置说明#配置请求根路径axios.defaults.baseURL...=http://api.com#将 axles作为全局的自定义属性,每个组件可以在内部直接访问(Vue3)appconfig.glcbalProperties....$add = axios效果axios发送网络请求//向给定ID的用户发起请求axios.get('/user?

    48920

    React技巧之发出http请求

    每当元素被点击时,发出http请求。 更新state变量,并重新渲染数据。 如果你使用axios,请向下滚动到下一个代码片段。...在handleClick函数中,我们等待POST请求的完成并更新state变量。 该示例使用了原生的 fetch API,但如果你使用axios依赖包,这个概念也适用。...axios 下面是如何使用axios包在点击按钮时发出http POST请求。 如果你决定使用axios,请确保你已经通过运行npm install axios安装了该软件包。...在点击按钮时,发出http POST 请求。...如果你使用axios,请确保你已经在项目的根目录下运行npm install axios来安装该包。 使用axios包时的语法更简洁一些,我们要处理的实现细节也更少,但概念是一样的。

    1.3K10

    axios笔记(一) 简单入门

    HTTP 请求交互的基本过程 浏览器向服务器发送请求报文 后台服务器接收到请求后,调度服务器应用处理请求,向浏览器返回 HTTP 响应(响应报文) 浏览器接收到响应,解析显示响应体 / 调用监视回调...API 分类 3.1 REST API(restful) RESTful 接口设计规范 发送请求进行 CRUD 哪个操作由请求方式来决定 同一个请求路径可以进行多个操作 请求方式会用到 GET / POST.../ PUT / DELETE 等 3.2 非 REST API(restless) 请求方式不决定请求的 CRUD 操作(甚至可以用 GET 请求进行删除操作) 一个请求路径只对应一个操作 请求方式一般只有...ajax 引擎帮忙发送) 浏览器端发送请求,只有 XHR 或 fetch 发出的才是 ajax 请求,其他的都不是 ajax 请求 浏览器端接收到响应(一般请求浏览器会自动更新页面,而 ajax...常用 API XMLHttpRequest():创建 XHR 对象的构造函数 status:响应状态码,如 200、404 等 statusText:响应状态文本 readyState:标识请求状态的只读属性

    2.1K20

    解决post方法使用applicationx-www-form-urlencoded格式编码数据

    发出 http 请求 支持 Promise API 拦截请求和响应 转换请求和响应数据 取消请求 自动转换JSON数据 客户端支持防止 CSRF/XSRF 安装 安装其他插件的时候,可以直接在 main.js...中引入并 Vue.use(),但是 axios 并不能 use,只能每个需要发送请求的组件中即时引入 为了解决这个问题,有两种开发思路,一是在引入 axios 之后,修改原型链,二是结合 Vuex,封装一个...仅仅这样并没有达到想要的效果,post的body主体中还是{"age":10}这样的格 式,并不是我们想要的query参数。...看了看文档,Axios 是一个基于 promise 的 HTTP 库 axios并没有install 方法,所以是不能使用vue.use()方法的。 那么难道每个文件都要来引用一次?.../utils/auth' // 创建axios实例 const service = axios.create({ baseURL: process.env.BASE_API, // api的base_url

    4.8K20

    axios(封装使用、拦截特定请求、判断所有请求加载完毕)

    (axios 配置,拦截器、统一 url) ---->index.js (接口方法,里面调用 api 方法,供页面级调用) ---->api ------->index.js(api 方法,里面调用后端提供的接口...) 请求配置:只有url是必需的,如果未指定方法,请求将默认为GET axios 拦截特定请求 业务上经常出现这个问题,需要拦截某些特定请求,在该特定请求,页面采取或不采取什么变化 研究 axios 的...就是请求的接口的地址,那么 “/” 最后的 getClassify 就是该请求的方法,就可以通过取出该字符串来判断某些特定请求,从而做出怎样的变化 axios.interceptors.request.use...let reqNum = 0 axios.interceptors.request.use(function (config) { // 在请求发出之前进行一些操作,每次发出请求就 reqNum+...$emit('showloading') } }) axios 的 post 请求 相关问题 如果遇到 post 请求跨域问题,在 webpack 配置文件可以设置 proxyTable 处理跨域问题

    6K40

    【收藏干货】axios配置大全

    //当这两个请求都完成的时候会触发这个函数,两个参数分别代表返回的结果 })) 三、axios的API axios可以通过配置(config)来发送请求 1、 axios(config) //发送一个...`POST`请求 axios({ method:"POST", url:'/user/12345', data:{ firstName:"Fred",...]]) 四、请求的配置(request config) 以下就是请求的配置选项,只有url选项是必须的,如果method选项未定义,那么它默认是以GET的方式发出请求 { //`url`是请求的服务器地址...`选项允许我们在请求发送到服务器之前对请求的数据做出一些改动 //该选项只适用于以下请求方式:`put/post/patch` //数组里面的最后一个函数必须返回一个字符串、-一个`ArrayBuffer...的默认值 //现在所有的请求都要等2.5S之后才会发出 instance.defaults.timeout = 2500; //这里的timeout回覆盖之前的2.5S变成5s instance.get

    1.5K11

    总结Vue3 的一些知识点:Vue3 Ajax(axios)

    (function (acct, perms) { // 两个请求现在都执行完成 }));----axios API可以通过向 axios 传递相关配置来创建请求。...实例axios(config)// 发送 POST 请求axios({ method: 'post', url: '/user/12345', data: { firstName: 'Fred...(url[, config])// 发送 GET 请求(默认的方法)axios('/user/12345');请求方法的别名为方便使用,官方为所有支持的请求方法提供了别名,可以直接使用别名来发起请求:axios.request...` 允许在向服务器发送前,修改请求数据 // 只能用在 "PUT", "POST" 和 "PATCH" 这几个请求方法 // 后面数组中的函数必须返回一个字符串,或 ArrayBuffer,或 Stream...('/user/12345') .catch(function (error) { if (error.response) { // 请求已发出,但服务器响应的状态码不在 2xx 范围内

    2.3K70
    领券