@j-l/request
TypeScript icon, indicating that this package has built-in type declarations

1.0.0-beta.7 • Public • Published

HTTP 请求库(浏览器端) npm

一个简单但是足够的,基于 PromiseXMLHttpRequest 的网络请求库。

介绍

特性

  • 在浏览器使用 XMLHttpRequest 发起请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求和响应数据
  • 取消请求
  • 超时处理
  • 查询参数序列化支持嵌套项处理
  • 自动将请求体序列化为 JSON
  • 兼容符合规范的 FormDataBlob

安装

使用 npm:

npm add @j-l/request

使用 pnpm:

pnpm add @j-l/request

使用 unpkg CDN:

<script src="https://unpkg.com/@j-l/request@1.0.0-beta.5/dist/index.global.js"></script>
script

API

配置缺省请求参数

client.config(config)

client.config({
  base: "",
  contentType: "json",
  responseType: "json",
  onResponse(response) {
    return response.body;
  },
});

其他方法:

  • 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 "@j-l/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 "@j-l/request";

async function addUser() {
  // 添加一个用户
  const response = await client.put("/user", {
    name: "张三",
  });
}

Package Sidebar

Install

npm i @j-l/request

Weekly Downloads

0

Version

1.0.0-beta.7

License

none

Unpacked Size

24 kB

Total Files

7

Last publish

Collaborators

  • zhangjiluo