一个简单但是足够的,基于 Promise
和 XMLHttpRequest
的网络请求库。
- 在浏览器使用
XMLHttpRequest
发起请求 - 支持
Promise API
- 拦截请求和响应
- 转换请求和响应数据
- 取消请求
- 超时处理
- 查询参数序列化支持嵌套项处理
- 自动将请求体序列化为
JSON
- 兼容符合规范的
FormData
和Blob
- 极小的文件体积: 3.66KB(未进行 GZIP、BR 等压缩时)
- 完全 TypeScript 开发,提供类型支持
使用 npm:
npm add @dongxi.dev/http-request
使用 pnpm:
pnpm add @dongxi.dev/http-request
配置缺省请求参数
client.config(config)
client.config({
responseType: 'json',
})
其他方法:
- client.get(url[, search[, options]])
- client.delete(url[, search[, options]])
- client.head(url[, search[, options]])
- client.options(url[, search[, options]])
- client.post(url[, payload[, options]])
- client.put(url[, payload[, options]])
- client.patch(url[, payload[, options]])
发起一个 GET
请求
import client from '@dongxi.dev/http-request'
async function getUser() {
try {
// 查询指定 ID 用户
const response = await client.get('/user', {
id: '123',
})
console.log(response)
} catch (error) {
console.error(error)
}
}
发起一个 PUT
请求
import client from '@dongxi.dev/http-request'
async function addUser() {
// 添加一个用户
const response = await client.put('/user', {
name: '张三',
})
}