catta
1.0.0
catta 是一个简单的浏览器请求客户端,支持 Fetch、AJAX、JSONP 甚至自定义您自己的适配器。 中文文档-请点我
catta-min.js
catta-min-comp.js
{data: HTMLFormElement}
需要 IE 10+ 才能工作如果你的项目已经有这些polyfill或者不需要IE支持,建议使用纯的。
# local install
npm install catta --save
// With ES6 - *Recommend*
import catta from 'catta' ;
catta ( 'http://some/url' ) . then ( function ( res ) {
console . log ( res ) ;
} ) ;
// With CommonJS
const catta = require ( 'catta' ) ;
// or catta.ajax or catta.jsonp or catta.fetch
catta . default ( 'http://some/url' ) . then ( function ( res ) {
console . log ( res ) ;
} ) ;
<!-- And also with <script> in HTML - *Not Recommend* -->
< script src =" ./node_modules/catta/dist/catta-min.js " > </ script >
< script >
// or catta.ajax or catta.jsonp or catta.fetch
catta . default ( 'http://some/url' ) . then ( function ( res ) {
console . log ( res ) ;
} ) ;
</ script >
import { ajax , fetch , jsonp , getScript } from 'catta' ;
/**
* make fetch/ajax/jsonp/getScript request
* @param {string} url - request url
* @param {Object} options - request options
*
*/
ajax ( url , options ) ;
// fetch request
fetch ( url , options ) ;
// jsonp request
jsonp ( url , options ) ;
// getScript
getScript ( url ) ;
描述 | 类型 | 默认 | 拿来 | 阿贾克斯 | JSONP | |
---|---|---|---|---|---|---|
网址 | 请求网址 | 细绳 | 无效的 | v | v | v |
方法 | 请求方式 | 字符串 { 获取、发布、放置、删除、头 } | '得到' | v | v | x |
数据 | 数据发送到服务器 | 字符串/对象/表单元素[3] | {} | v | v | v |
描述 | 类型 | 默认 | 拿来 | 阿贾克斯 | JSONP | |
---|---|---|---|---|---|---|
类型 | 限制请求类型 | 字符串 { 获取、ajax、jsonp、脚本 } | '汽车' | — | — | — |
暂停 | 几秒后抛出超时错误 | 数字 | 3 | ! [1] | v | ! [1] |
结果类型 | 结果类型 | { 文本、json、响应 } | 文本 | v | v | ! [2] |
v支持!部分支持×不支持
Fetch 和 JSONP 请求无法中止,当前超时只是抛出超时错误
resultType选项不能与 jsonp 一起使用,因为结果必须是可执行的 javascript 代码
仅支持具有FormData 功能的表单元素
财产 | 描述 | 类型 | |
---|---|---|---|
jsonp | 回调名称 | 设置自定义回调名称 | 细绳 |
拿来 | 叉 | 指示请求是否可以跨域 | 布尔值 |
阿贾克斯 | - | - | - |
import catta from 'catta' ;
catta ( 'http://some/url' ) . then ( function ( res ) {
console . log ( res ) ;
} ) ;
import catta from 'catta' ;
catta ( 'http://some/url' , {
type : 'jsonp' ,
data : {
page : 5 ,
count : 20
} ,
timeout : 2 ,
credential : false ,
cross : false ,
// sp. options
jsonp : {
callbackName : 'myCustomJSONP1'
}
} )
. then ( res => console . log ( res ) )
. catch ( err => console . log ( err ) ) ;
import { fetch } from 'catta' ;
// only use fetch
fetch ( 'http://some/url' , {
data : { a : 1 }
} ) . then ( function ( res ) {
console . log ( res ) ;
} ) ;
import catta from 'catta' ;
catta ( 'http://some/url' , {
headers : {
'Content-Type' : 'appliction/json'
}
} )
. then ( function ( res ) {
console . log ( res ) ;
} ) ;
import { globalConfig } from 'catta' ;
// set global config, it will work for each request
globalConfig ( {
timeout : 10
} ) ;
自定义适配器只是一个对象,具有detector
和processor
功能。此功能用于根据您的特殊请求制作包装器,并让catta
来处理它。更多详细信息请参阅 mtop 适配器示例
import { customAdapter } from 'catta' ;
import mtopAdapter from 'catta/lib/custom/mtop' ;
// set mtop adapter
customAdapter ( 'mtop' , mtopAdapter ) ;
options.type
麻省理工学院许可证