项目实战之接口处理篇~一文搞定接口请求

2022-04-07 19:06:48 浏览数 (1)

在项目开发中,接口请求是必不可少的,为了方便使用和维护,大家都会将接口请求的方法二次封装。下面小编将我项目中接口封装使用的方法分享给大家,希望可以帮到大家。喜欢的给个三连击再走哟。

目前前端常用的请求方式主要有两种:axios、Fetch。下面小编就这两种给大家详细的介绍介绍。 axios

axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,本质上也是对原生XHR的封装,只不过它是Promise的实现版本,符合最新的ES规范。 特点

代码语言:javascript复制
从浏览器中创建 XMLHttpRequest
支持 Promise API
客户端支持防止CSRF
提供了一些并发请求的接口(重要,方便了很多的操作)
从 node.js 创建 http 请求
拦截请求和响应
转换请求和响应数据
取消请求
自动转换JSON数据

兼容性问题 axios在PC端浏览器的兼容性问题

axios支持IE8 ,但原理是基于promise之上实现的,因此会存在不兼容IE的问题。

trident内核的浏览器下会报:vuex requires a Promise polyfill in this browser

解决方式:

代码语言:javascript复制
安装 babel-polyfill

npm install babel-polyfill -s

代码语言:javascript复制
安装成功以后需要在 main.js 中引入 babel-polyfill

一般会配置 webpack.base.config.js 中 entry

代码语言:javascript复制
module.exports = {undefined
context: path.resolve(__dirname, ‘…/’),
entry: {undefined
app: [“babel-polyfill”, “./src/main.js”]
// app: ‘./src/main.js’
},
}

axios在安卓低版本兼容性处理

在较低版本的安卓手机中发现发现封装的axios请求无效,主要原因还是低版本的安卓手机无法使用promise

解决方式:

代码语言:javascript复制
安装 es6-promise

npm install es6-promise -s

代码语言:javascript复制
引入注册es6-promise

一定要在axios注册之前

// 注意: es6-promise 一定要在 axios 之前注册

promise.polyfill()

或者

require(‘es6-promise’).polyfill();

更多内容请见原文,文章转载自:https://blog.csdn.net/weixin_44519496/article/details/118514731

0 人点赞