超易用的浏览器请求框架 catta

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

的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

16个Linux渗透测试发行版

ArchAssault 188 Kali Linux 867 BackBox 149 BlackArch Linux 134 Knoppix STD 110 Pentoo 122 DEFT 110 Parrot 127 CAINE 129 Samurai Web Testing Framework 164 Matriux Krypton 117 WEA...

2015/04/27 16:19
209
0
可视化数据包分析工具-CapAnalysis

可视化数据包分析工具-CapAnalysis 我们知道,Xplico是一个从pcap文件中解析出IP流量数据的工具,本文介绍又一款实用工具―CapAnalysis(可视化数据包分析工具),将比Xplico更加细致的分析功...

2014/12/20 09:55
148
0
介绍14款专业黑客都喜欢用的操作系统

导读 专业的黑客(Hacker)都在什么操作环境下工作?这是一个很多人都感兴趣的问题。今天,就来梳理一下,那些专业黑客们所喜欢使用的操作系统。 当然,都是专业的黑客了,为了表达自己的技术...

2018/06/02 23:19
10
0
10款Linux渗透测试系统(利器)

渗透测试、系统与网络管理、网络取证调查、漏洞分析的利器

2015/03/22 22:47
285
1
用开源工具Xplico助力网络应用层数据解码

Xplico功能不仅是一个网络协议分析工具,还是一个开源的网络取证分析工具(NFAT)。网络取证分析工具是一个科学的捕捉,记录和检测入侵并进行调查的网络流量分析处理系统。Xplico主要作用是从捕...

2016/06/28 14:34
166
0
计算材料常用的网址

综合类群: 电子结构群号:50211940;计算模拟群号:33239166;材料计算综合群:37719000;量化材料计算高级群群号:39197167; vasp群: 群号:35358045; 群号:42251175;群号:51864058;群...

2010/04/10 08:34
281
0
jsp获取客户端信息和服务器信息

<%     String agent = request.getHeader("user-agent");   StringTokenizer st = new StringTokenizer(agent,";");   //得到用户的浏览器名   String userbrowser =...

2016/04/26 10:45
108
1
Request参数转换工具类

request

2016/11/16 10:27
14
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部