catta 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
catta 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
catta 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
catta 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
catta 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 MIT
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 逝者的梦
适用人群 未知
收录时间 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 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2018/08/20 19:56

before_request after_request

Flask我们已经学习很多基础知识了,现在有一个问题 我们现在有一个 Flask 程序其中有3个路由和视图函数,如下: from flask import Flask app = Flask(__name__) # type:Flask @app.route("/login") def login(): return "Login" @app.route("/index") def index(): return "Index" @app.route("/home") def home(): return "Login" app.run("0.0.0.0", 5000) 简单的小程序 如果登陆了,就可以...

0
0
发表了博客
2018/12/19 15:42

Flask之before_request、after_request

1.@app.before_request在请求(request)|在视图函数 之前做出响应 解决所有问题 from flask import Flask from flask import request from flask import redirect from flask import session app = Flask(__name__) #type:Flask app.secret_key = 'wjs' @app.before_request def is_login(): if request.path == "/login": return None if not session.get("user"): return re...

0
0
发表了博客
2019/02/28 18:44

Flask中的before_request after_request

1.@app.before_request 在请求(request)之前做出响应 @app.before_request 也是一个装饰器,他所装饰的函数,都会在请求进入视图函数之前执行 2.@app.after_request 在响应(response)之前做出响应 实例 from flask import Flask,render_template,session,jsonify,request,redirect,send_file app = Flask(__name__) app.secret_key = "$%^Y&U*I*(&*" # 在请求进入视图函数之前 做出响应,只执行一次 @app.before_first_req...

0
0
发表了博客
2019/02/28 17:07

Flask中的before_request和after_request

1.@app.before_request 在请求(request)之前做出响应 @app.before_request 也是一个装饰器,他所装饰的函数,都会在请求进入视图函数之前执行 2.@app.after_request 在响应(response)之前做出响应 实例 from flask import Flask,render_template,session,jsonify,request,redirect,send_file app = Flask(__name__) app.secret_key = "$%^Y&U*I*(&*" # 在请求进入视图函数之前 做出响应,只执行一次 @app.before_first_req...

0
0
发表了博客
2018/01/01 18:17

request

本节内容: HttpServletRequest概述 request的运行流程 通过抓包工具抓取Http请求 通过request获得请求行 通过request获得请求头 通过request获得请求体 request的其他功能 示例:注册 示例:登录 一、HttpServletRequest概述 我们在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一个为代表请求的request和代表响应response。 service方法中的request的类型是ServletRequest,而doGet/doPost方...

0
0
发表于服务端专区
2018/02/06 11:59

request

获取当前的请求路径:request.getRequestURI(); 定位到登陆login.jsp页面,并且将登陆之后可以进入requestURI请求的页面 request.getRequestDispatcher("/plogin?gotoUrl="+requestURI).forward(request, response);

0
0
发表了博客
2018/09/11 09:55

Request

request对象: 作用:request对象中封存了当前请求的所有请求信息。 服务器收到浏览器的请求后,会创建一个request对象,对象中存储了此次相关的请求数据,服务器在调用 servlet时,会创建的request对象作为实参传递给servlet方法。如servlet方法 使用:获取请求头数据 //获取请求头数据: //获取请求方式 String Method = req.getMethod(); System.out.println(Method); //获取请求URL StringBuffer URl = req.getRequestURL(...

0
0
发表了博客
2019/03/01 22:28

Request

1.HttpServletRequest概述 我们在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一个为代表请求的request和代表响应response。 service方法中的request的类型是ServletRequest,而doGet/doPost方法的request的类型是HttpServletRequest,HttpServletRequest是ServletRequest的子接口,功能和方法更加强大, 因为request代表请求,所以我们可以通过该对象分别获得Http请求的请求行,请 求头和请...

0
0
2019/08/22 08:34

Request

Request 1.获取请求行 2.获取请求头 3.获取请求体 4.请求转发 0 1 获取请求行 请求行信息 包含请求方式、URL、版本 获取请求方式 String method = request.getMethod(); 获取请求资源(URL、URI) // "http://localhost:8080/request/Request" StringBuffer url = request.getRequestURL(); // "/request/Request" StringBuffer url = request.getRequestURL(); /* url包含请求的从主机到当前文件 uri只包含从项目下到当前文件*...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
8 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部