Axios

axios

是基于Promise的HTTP请求客户端。可同时在浏览器和node.js中使用

功能特效

  1. 在浏览器中发送XMLHttpRequests请求
  2. 在node.js中发送http请求
  3. 支持Promise API
  4. 拦截请求和响应
  5. 转换请求和响应数据
  6. 自动转换JSON数据
  7. 客户端支持保护安全免受XSRF攻击

创建Axios

	const service = axios.create({
		url:' /search' // 必须项目,
		method:'get' // 没有指定method ,默认是get
		baseURL:''// 请求地址,
		timeout:5000 // 请求超时的毫秒数
	})

拦截器

	// 添加一个请求拦截器
	service.interceptors.request.use(async(config:InteralAxiosRequestConfig)=>{
		// 在发送请求的时候做些什么
		return config
	})
	// 添加一个响应拦截器
	service.interceptors.response.user((response:AxiosResponse)={
		// 判断状态码,(状态码是与后端约定的)
		let res = respons.data
		return res
	},
	(error:AxiosError)=>{
		// 超出状态码会触发该函数
		// 对响应错误多点什么
		return Promise.reject(error)
	}
	)

axios 的用例

get post put delete
// get 查询数据 post 添加数据 put 修改数据 delete 删除数据

get 传参

  • url 传参(拼接的形式)
    axios.get('/search?id=2')
  • params传参
    axios.get('/search',{params:{id:2}})
  • restful 风格传参
    axios.get('/search').then(()=>{})
    app.get('/axios/:id',(req,res)=>{res.send(res.params.id)})

delete 传参(和get一致)

post 传参,put 传参

  • 默认传参
    axios.post('/add',{name:'张三',password:'1234567'}).then(()=>{})
  • URLSearchParams传参
    const data = new URLSearchParams();
    data.append('name','张三'); data.append('password','1234567')
    axios.post('/add',data).then(()=>{})
const axios = require('axios')
// get 请求 
axios.get('/user',{
	params:{
		ID:44
	}
}).then(()=>{
}).catch(()=>{
}).finally(()=>{})

// 支持async await 用法
const getUser = async() =>{
	let res = await axios.get('/user?ID=44')
}
//post 请求
axios.post('/search',{
	keyWord:'search'
}).then(()=>{})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值