计算机系统应用教程网站

网站首页 > 技术文章 正文

前端基础面试:axios的特点和基本使用方法以及拦截器的使用方法

btikc 2024-10-17 08:37:11 技术文章 8 ℃ 0 评论

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。

特点

  • 从浏览器中创建 XMLHttpRequests
  • 从 node.js 创建 http 请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求数据和响应数据
  • 取消请求
  • 自动转换 JSON 数据
  • 客户端支持防御 XSRF

基本使用方法:

axios执行GET请求

// 为给定 ID 的 user 创建请求
axios.get('/user?ID=12345')
 .then(function (response) {
 console.log(response);
 })
 .catch(function (error) {
 console.log(error);
 });
// 可选地,上面的请求可以这样做
axios.get('/user', {
 params: {
 ID: 12345
 }
 })
 .then(function (response) {
 console.log(response);
 })
 .catch(function (error) {
 console.log(error);
 });

执行POST请求

axios.post('/user', {
 firstName: 'Fred',
 lastName: 'Flintstone'
 })
 .then(function (response) {
 console.log(response);
 })
 .catch(function (error) {
 console.log(error);
 });

执行多个并发请求:

function getUserAccount() {
 return axios.get('/user/12345');
}
function getUserPermissions() {
 return axios.get('/user/12345/permissions');
}
axios.all([getUserAccount(), getUserPermissions()])
 .then(axios.spread(function (acct, perms) {
 // 两个请求现在都执行完成
 }));

还有一个axios重要的知识点就是拦截器.

拦截器

在请求或响应被 then 或 catch 处理前拦截它们,拦截器分为请求拦截器响应拦截器.

请求拦截器(interceptors.requst)是指可以拦截每次或指定HTTP请求,并可修改配置项。

响应拦截器(interceptors.response)可以在每次HTTP请求后拦截住每次或指定HTTP请求,并可修改返回结果项。

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
 // 在发送请求之前做些什么
 return config;
 }, function (error) {
 // 对请求错误做些什么
 return Promise.reject(error);
 });
// 添加响应拦截器
axios.interceptors.response.use(function (response) {
 // 对响应数据做点什么
 return response;
 }, function (error) {
 // 对响应错误做点什么
 return Promise.reject(error);
 });

拦截器的工作流程:

移除拦截器:

var myInterceptor = axios.interceptors.request.use(function () {/*...*/});
axios.interceptors.request.eject(myInterceptor);

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表