catta 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
catta 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: MIT
开发语言: JavaScript 查看源码 »
操作系统: 跨平台
收录时间: 2017-01-12
提 交 者: 逝者的梦

forthebadge forthebadge

catta

catta 是一个轻量级的 Javascript 浏览器请求框架,支持 Fetch,AJAX,JSONP,甚至支持自定义的请求方式。

  • 使用非常非常非常简单

  • 支持自动检测浏览器来选择请求方式

  • 统一各种请求方式的参数

  • 支持自定义请求方式

  • 体积很小,压缩后小于 3KB!

使用方式

安装

# 本地化安装
npm install catta --save

引入

// ES6方式 - *推荐*
import catta from 'catta';

catta('./data/simple.json').then(function (res) {
  console.log(res);
});
// CommonJS方式
const catta = require('catta');

catta('./data/simple.json').then(function (res) {
  console.log(res);
});
<!-- 标签引入HTML - *不推荐* -->
<script src="./node_modules/catta/dist/catta.js"></script>
<script>
  catta('./data/simple.json').then(function (res) {
    console.log(res);
  });
</script>

Options

Common Options

  Description Type Fetch AJAX JSONP
target 限定请求方式 string v v v
type 限制请求方式 { fetch, ajax, jsonp }
method 请求方法 get , post } v v v
data 发送到服务端的数据 Object/Form Element [3] v v v
timeout 请求超时时间 number [1] v [1]
resultType 返回值类型 text, json, response } v [2] [2]
cross 是否允许跨域请求 boolean v v v
withCookie 跨域请求是否携带 Cookie boolean v v v

v 支持 ! 部分支持 × 不支持

  1. Fetch 和 JSONP 请求不支持提前终止,所以仅仅会在超时后报错,请求仍会继续
  2. response 参数仅支持 Fetch 请求
  3. 仅通过 FormData 来支持文件上传(即 data 参数直接传 form element)

示例

最简单形式

import catta from 'catta';

catta('./data/simple.json').then(function (res) {
  console.log(res);
});

带参数的形式

import catta from 'catta';

catta({
  target: './data/complex.json',
  data: {
    page: 5,
    count: 20
  },
  timeout: 2, 
  type: 'ajax',
  cross: true,
  withCookie: false
})
.then(res => console.log(res))
.catch(err => console.log(err));

单独使用 Fetch / AJAX / JSONP

import catta, {ajax} from 'catta';

catta.ajax('./data/simple.json').then(function (res) {
  console.log(res);
});

// same as

ajax('./data/simple.json').then(function (res) {
  console.log(res);
});

自定义请求方式

一个自定义的请求方式就是一个原生对象,对象含有 detector 和 processor 两个方法.更多细节参见 mtop 请求方式示例

import {globalConfig, customAdapter} from 'catta';
import mtopAdapter from 'catta/lib/custom/mtop';

// 设置全局配置,这个配置会在每次请求时均生效
globalConfig({
  timeout: 10
});

// 配置自定义请求方式 "mtop"
customAdapter('mtop', mtopAdapter);

注意

  • 自动选择请求方式的逻辑
    • 指定 options.type
    • 匹配到自定义请求方式
    • 如果支持 Fetch,则使用 fetch,否则降级为 ajax

许可

MIT License

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

catta 的相关资讯

还没有任何资讯

catta 的相关博客

before_request after_request

Flask我们已经学习很多基础知识了,现在有一个问题 我们现在有一个 Flask 程序其中有3个路由和视图函数,如下: from flask impo...

Flask之before_request、after_request

1.@app.before_request在请求(request)|在视图函数 之前做出响应 解决所有问题 from flask import Flask from flask impo...

Flask中的before_request after_request

1.@app.before_request 在请求(request)之前做出响应 @app.before_request 也是一个装饰器,他所装饰的函数,都会在请求进入视图...

request

本节内容: HttpServletRequest概述 request的运行流程 通过抓包工具抓取Http请求 通过request获得请求行 通过request获得请求...

Flask中的before_request和after_request

1.@app.before_request 在请求(request)之前做出响应 @app.before_request 也是一个装饰器,他所装饰的函数,都会在请求进入视图...

request

获取当前的请求路径:request.getRequestURI(); 定位到登陆login.jsp页面,并且将登陆之后可以进入requestURI请求的页面 requ...

Request

request对象: 作用:request对象中封存了当前请求的所有请求信息。 服务器收到浏览器的请求后,会创建一个request对象,对象...

Request

Request 1.获取请求行 2.获取请求头 3.获取请求体 4.请求转发 0 1 获取请求行 请求行信息 包含请求方式、URL、版本 获取请求方...

request.getParameter()、request.getInputStream()和request.getReader()

大家经常 用servlet和jsp,但是对 request.getInputStream()和request.getReader()比较陌生。 request.getParameter() request...

Request

1.HttpServletRequest概述 我们在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一个为代表...

catta 的相关问答

还没有任何问答,马上提问

评论 (0)

加载中
更多评论
0 评论
8 收藏
分享
返回顶部
顶部