@ephox/jax

中文文档
9.0.0发布于 2026/03/31GPL-2.0-or-laterTypeScriptESM + CJS近 30 天下载 1.6万

AJAX library

原始使用文档
文档目录5 节
  1. Install from npm
  2. GET Requests
  3. POST Requests
  4. PUT Requests
  5. DELETE requests

Description

jax is a library for handling AJAX requests and responses. It does not bundle any commands. It is only a collection of modules.

Installation

jax is available as an npm package. You can install it via the npm package @ephox/jax

Install from npm

npm install @ephox/jax.

Using the API

jax supports several methods, content types, and response types. More specifically,

Methods: GET, POST, PUT, DELETE Content Types: none, form, json, plain, html Response Types: json, blob, text, html, xml

In addition, credentials can be sent with the request. More information can be found here.

The ephox.jax.api.Ajax APIs provide the various methods for making AJAX requests. They all return a LazyValue (see katamari) which is a promise-like data structure with get, map, and isReady functions. The APIs also take an additional parameter at the end for any custom request headers, which defaults to {} if it is not provided.

ContentType, ResponseType, and Credentials are specified using the constructors inside ephox.jax.api.ContentType, ephox.jax.api.ResponseType, and ephox.jax.api.Credentials respectively.

GET Requests

Ajax.get(url, responseType, credentials, _custom)

This fires a GET request with the specified response type. The content type is sent as none.

Ajax.get(
  'http://localhost/server/get/1',
  ResponseType.json(),
  Credentials.none(),
  { }
).get(function (result) {
  // result is a result, so you need to fold over it for Err or Succ(x)
  result.fold(function (err) {
    console.error('Server error', err);
  }, function (val) {
    console.log('Get response', val);
  })
});

POST Requests

Ajax.post(url, contentType, responseType, credentials, _custom)

This fires a POST request with the specified response type and content type.

Ajax.post(
  'http://localhost/server/post',
  ContentType.json({
    'send-data': '10'
  }),
  ResponseType.xml(),
  Credentials.none(),
  { }
)).get(function (result) {
  // result is a result, so you need to fold over it for Err or Succ(x)
  result.fold(function (err) {
    console.error('Server error', err);
  }, function (xml) {
    console.log('Post response', xml);
  })
});

PUT Requests

Ajax.put(url, contentType, responseType, credentials, _custom)

This fires a PUT request with the specified response type and content type.

Ajax.put(
  'http://localhost/server/put',
  ContentType.json({
    'send-data': '10'
  }),
  ResponseType.json(),
  Credentials.none(),
  { }
)).get(function (result) {
  // result is a result, so you need to fold over it for Err or Succ(x)
  result.fold(function (err) {
    console.error('Server error', err);
  }, function (val) {
    console.log('Put response', val);
  })
});

DELETE requests

Ajax.del(url, responseType, credentials, _custom)

This fires a DELETE request with the specified response type.

Ajax.get(
  'http://localhost/server/del/1',
  ResponseType.json(),
  Credentials.none(),
  { }
).get(function (result) {
  // result is a result, so you need to fold over it for Err or Succ(x)
  result.fold(function (err) {
    console.error('Server error', err);
  }, function (val) {
    console.log('Delete response', val);
  })
});

Running Tests

$ yarn test

These tests require bedrock and chrome.

版本与发布记录

@ephox/jax 共发布 67 个版本,首次发布于 2016/12/20;过去 12 个月发布了 1 个版本。

版本发布日期距今
9.0.0latest2026/03/317 个月前
7.0.102024/02/072 年前
7.0.92023/03/153 年前
7.0.72022/11/233 年前
7.0.52022/09/084 年前
7.0.32022/06/294 年前

其他发布通道:rc → 7.0.2-alpha.1。

关于 @ephox/jax 的常见问题

@ephox/jax 是什么?

AJAX library

如何安装 @ephox/jax?

在项目目录运行 npm install @ephox/jax,或使用 pnpm add / yarn add / bun add。

@ephox/jax 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@ephox/jax 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@ephox/jax 可以商用吗?

@ephox/jax 使用 GPL-2.0-or-later 许可。强 Copyleft:分发包含该代码的软件时,整个作品需以兼容的 GPL 许可开源。仅在内部使用、不对外分发时不触发此义务。以上为概括,不构成法律意见,请以许可原文为准。

@ephox/jax 的下载量有多少?

根据 npm 官方下载统计,@ephox/jax 在 2026/10/14 – 2026/11/12 这 30 天内被下载 16,353 次,日均约 545 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@ephox/jax 还在维护吗?

最新版本 9.0.0 发布于 2026/03/31(7 个月前);至今共发布 67 个版本,其中过去 12 个月发布了 1 个;首次发布于 2016/12/20。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。