前言
说实话,从接触前端开始。接口请求直接用的就是JQuery的ajax,而我们如今的项目也直接用的是axios。至于底层一点的原理我们也不会刻意的去研究。最近正好有用node写一些小工具,需要自己封装AJAX,对这块做一下记录。
下面将介绍到:
- 分别封装node环境以及浏览器环境的AJAX
- 将callback模式转换为promise模式
node环境
// 引入node自带的http模块
const http = require('http')
// 将协议、主机名、端口等从uri中提出,这里我也用的是别人写好的,就不在这里展示了
const parseUrl = require('./parseUrl')
const ajax = async (param = {
}, data = null) => {
const {
method, url, userInfo } = param
const {
protocol, hostname, path, port } = parseUrl(url)
// 配置请求头
let headers = {
"User-Info": userInfo,
"Content-Type":