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>
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 支持 ! 部分支持 × 不支持
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));
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
MIT License
本文向大家介绍易语言的超文本浏览框实现,包括了易语言的超文本浏览框实现的使用技巧和注意事项,需要的朋友参考一下 添加一个按钮 页面内可以点击跳转 出现错误 解决办法 实验效果
问题内容: HTTP请求的标头中是否有任何内容可以区分给定客户端的AJAX调用和直接浏览器请求?用户代理字符串通常是否相同? 问题答案: 如果您使用Prototype,jQuery,Mootools或YUI,则应该找到一个 X-Requested-With:XMLHttpRequest 标头,它将为您解决问题。应该可以在其他库中插入任何您喜欢的标头。 在最低级别上,给定XMLHttpRequest
问题内容: 浏览器是否内置了超时功能,如果可以,它们是什么? 我有一个页面,该页面在最多运行5分钟的进程上执行AJAX调用。有人说浏览器在2分钟后超时,但不知道这有什么道理。 问题答案: 它取决于浏览器。“默认情况下,InternetExplorer的KeepAliveTimeout值为一分钟,其他限制因素(ServerInfoTimeout)为两分钟。这两种设置都会导致InternetExplo
问题内容: 当服务器由于超时而没有响应时,我偶尔遇到重试POST请求的情况。所有现代浏览器都对幂等请求(GET,HEAD等)具有重试逻辑,但是我无法推断出为什么它对POST请求会发生。 我正在使用具有3条路由和chrome浏览器的简单node.js服务器测试这种情况。 默认情况下,node.js http服务器在2分钟后使请求超时。 retry.js 运行 1个 2 从开发控制台,使用jquery
我正在尝试为NBA数据创建一个网络刮板。当我运行以下代码时: 请求因错误而超时: 文件“C:\ProgramData\Anaconda3\lib\site packages\requests\api.py”,第70行,在get返回请求中('get',url,params=params,**kwargs) 文件“C:\ProgramData\Anaconda3\lib\site packages\r
我正在浏览一个似乎通过javascript填充数据的网页。我想为我的浏览器使用一个扩展,它可以让我看到对什么url发出了什么请求,以及从请求中返回了什么数据。 任何帮助都将不胜感激。
我在尝试使用JsTestDriver捕获浏览器时遇到此错误: 基本上,我正在做的是以下内容: > 使用以下命令启动 JsTestDriver 服务器: java-jarJsTestDriver-1.3.5.jar--port 9876 然后,我尝试用以下代码捕获浏览器: nohup./phantomjs phantomjs-jstd.js 最后,我尝试使用以下命令运行测试: Java-jar js
在我的php文件中,我有以下内容来创建一个带有FPDF库的PDF: 但是请求是响应这个,而不是打开一个保存对话框来保存我的PDF。 %PDF-1.3 3 0 obj<>endobj 4 0 obj<>stream x 3 R@2π35 W(çR qπw 3 t04多30 pispéz*[(hx·ääää+çó)·(j*dé7 w endstream endobj 1 0 obj /xobject<