网络请求axios
axios的定义
- axios是一个基于Promise,用于浏览器和node的HTTP客户端
axios的功能特点
- 在浏览器中发送 XMLHttpRsquests 请求
- 在node.js中发送http请求
- 支持Promise API
- 拦截请求和响应
- 转换请求和响应数据
- 等等
axios框架的基本使用
- npm安装
npm install axios -S
发送pos请求的简单演示
axios({
url: 'http://123.207.32.32:8000/home/multidata',
method: 'pos'
}).then(res => console.log(res))
axios的请求参数
- baseURL:请求的根路径
baseURL = 'http://123.207.32.32:8000'
- timeout:请求超时时间
timeout = 5000
- method:发送请求所使用的方法,默认使用get方法
method = 'get'
- params:URL查询对象
params = {type: 'pop',page: 1}
发送并发请求
- axios.all(),接收一个数组作为参数,返回一个promise对象
- 使用axios.spread可将数组[res1, res2]展开为res1,res2
axios.all([
axios({url: '/home/multidata'}),
axios({url: '/home/data', params: {type: 'pop',page: 1}})
]).then(axios.spread(res1, res2) => {
console.log(res1)
console.log(res2)
})
创造axios实例将全局配置改为局部配置
- 调用create方法,该方法会返回一个axios实例,该实例同样会返回一个Promise对象
const instance1 = axios.create({
baseURL: 'http://123.207.32.32:8000',
timeout: 500
})
instance1({
url: '/home/multidata'
}).then(res => console.log(res))
网络模块封装
- 将网络相关信息单独放入一个文件中,导出函数
//request.js
import axios from 'axios'
export function request(config) {
const instance = axios.create({
baseURL: 'http://123.207.32.32:8000',
timeout: 5000
})
// 拦截器
// ……
return instance(config)
}
- 使用
import {
request
} from './network/request.js'
request({
url: '/home/multidata'
}).then(res => console.log(res))
.catch(err => console.log(err))
axios拦截器
- axios提供了拦截器,用于我们在每次发送请求或得到响应后,进行对应的处理
export function request(config) {
// 1.创建做axios实例
const instance = axios.create({
baseURL: 'http://123.207.32.32:8000',
timeout: 5000
})
- 请求拦截
axios.interceptors.request.use(config => {
console.log(config)
// 1.比如config中的一些不符合服务器的要求
// 2.比如每次发送网络请求时,都希望在界面中显示一个请求的图标
// 3.某些网络请求(比如登录),必须携带一些特殊的信息
// 必须要返回拦截的对象
return config
}, err => {
return err
})
- 响应拦截
instance.interceptors.response.use(res => {
// console.log(res)
return res.data
}, err => {
console.log(err)
return err
})
//3、发送真正的网络请求
return instance(config)
网络请求axios的更多相关文章
- 使用axios优雅的发起网络请求
原文链接:https://www.jianshu.com/p/73585303fdc0 公司项目使用了vue作为技术栈,便理所应当地使用了官方推荐的axios进行网络请求,这里记录下axios的封装方 ...
- Axios 网络请求组件封装 (鉴权、刷新、拦截)
一.前言 注意:本教程需要你对axios有一定的了解,不适用于小白(只能借鉴,希望你能自己动手),注释都写的很清楚.此封装并非完整版,已进行部分删减修改操作,但仍然适用于大部分业务场景,如果不适用于你 ...
- 十. Axios网络请求封装
1. 网络模块的选择 Vue中发送网络请求有非常多的方式,那么在开发中如何选择呢? 选择一:传统的Ajax是基于XMLHttpRequest(XHR) 为什么不用它呢?非常好解释配置和调用方式等非常混 ...
- vue(24)网络请求模块axios使用
什么是axios Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 主要的作用:axios主要是用于向后台发起请求的,还有在请求中做更多是可控功能. a ...
- React Native网络请求
很多移动应用都需要从远程地址中获取数据或资源.你可能需要给某个REST API发起POST请求以提交用户数据,又或者可能仅仅需要从某个服务器上获取一些静态内容--以下就是你会用到的东西.新手可以对照这 ...
- Spring Boot + Vue 前后端分离开发,前端网络请求封装与配置
前端网络访问,主流方案就是 Ajax,Vue 也不例外,在 Vue2.0 之前,网络访问较多的采用 vue-resources,Vue2.0 之后,官方不再建议使用 vue-resources ,这个 ...
- web开发网络请求到数据的整合办法
开发中向服务器请求到的数据是特别复杂的,需要从中抽离出需要展示的数据进行展示个和交互. 思路: 先将请求到的复杂数据传递到一个类A中,从类A里抽离出需要的数据.需要展示数据的地方,面向类A开发,类A关 ...
- Jest中Mock网络请求
Jest中Mock网络请求 最近需要将一个比较老的库修改为TS并进行单元测试,修改为TS还能会一点,单元测试纯粹是现学现卖了,初学Jest框架,觉得在单元测试中比较麻烦的就是测试网络请求,所以记录一下 ...
- 介绍一下主流的浏览器的开发者工具(js调试和查看网络请求)
1.打开开发者工具:右键-->检查 (快捷键 f12) 2.开发者工具介绍: (1): 选择页面的dom进行查看 (2):设备适配 (3)元素: ① 可以查找到界面对应的dom: ② 通过计算样 ...
随机推荐
- java 递归求二叉树深度
给定二叉树,找到它的最大深度. 最大深度是从根节点到最远叶节点的最长路径上的节点数. 注意:叶子是没有子节点的节点. Example: Given binary tree [3,9,20,null,n ...
- arcgis10.2 的安装与离线发布地图
一.ArcGIS for Desktop安装 ArcGIS安装 方法/步骤1:LicenseManager安装 1.首先要下载Arcgis 10.2软件,很大大约有4个多G.下载后可以用虚拟光驱,DA ...
- 技术分享PPT整理(一):Bootstrap基础与应用
最近在复习的时候总感觉有些知识点总结过,但是翻了一下博客没有找到,才想起来有一些内容是放在部门的技术分享里的,趁这个时候跳了几篇相对有价值的梳理一下,因为都是PPT,所以内容相对零散,以要点和图片为主 ...
- P1047_校门外的树(JAVA语言)
题目描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米. 我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置: 数轴上的每个整数点,即0,1,2,-,L都种 ...
- Git 上传项目到 Github
Git 上传项目到 Github 该文章主要讲解Git 上传项目到 Github,Gitee同理 配置Git 下载.安装Git 下载后一路(傻瓜式安装)直接安装即可 如果第一次使用git的话,需要设置 ...
- 【故障公告】阿里云 RDS SQL Server 数据库实例 CPU 100% 引发全站故障
非常抱歉,今天 8:48 开始,我们使用的阿里云 RDS SQL Server 数据库实例突然出现 CPU 100% 问题,引发全站故障,由此给您带来麻烦,请您谅解. 发现故障后立即进行主备切换,和 ...
- 北航OO第四单元作业总结(4.1~4.3)及课程总结
前言 在学习过JML规格描述语言之后,本单元进行了UML(Unified Modeling Language)的学习.和JML单纯用语言描述的形式不同,UML通过可视化的图形形式,对一系列有关类的元素 ...
- 电梯也能无为而治——oo第二单元作业总结
oo第二单元作业总结 一.设计策略与质量分析 第一次作业 设计策略 在第一次作业之前,我首先确定了生产者--消费者模式的大体架构,即由输入线程(可与主线程合并)充当生产者,电梯线程充当消费者,二者不直 ...
- FastDFS一步步搭建存储服务器
一:FastDFS简介 1:FastDFS简介 FastDFS是一个开源的轻量级分布式文件系统,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适 ...
- JDBC_02_JDBC连接数据库 (INSERT INTO)
JDBC连接数据库 (INSERT INTO) String url="jdbc:mysql://127.0.0.1:3306/employ?useUnicode=true&char ...