Package Exports
- see-ajax
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (see-ajax) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
see-ajax
An ajax wrapper, with response refactoring, pre handling, post handling, etc.
requirements
related
note
Only for json
response.
quick start
npm install see-ajax --save
import seeAjax from 'see-ajax';
// configure application
seeAjax.config(name, {
method,
stringify,
settings,
url,
req,
refactor,
pre,
post,
implement,
});
// make a request
seeAjax(name, params, successCallback, errorCallback);
config options
method
: which http method to use
type
:string
default
:get
'post/put/delete'
stringify
: whether to stringify request params
type
:bool
default
:false
If true
, the server will receive string, but not key-value
pairs.
If GET
method, request params will not stringify at any time.
settings
: extra reqwest options
type
:map
default
:{}
url
: url to request
type
:string
default
: empty string
req/requestKeys
: keys mapping of request params
type
:map
default
:{}
{sourceKey: 'newKey'}
refactor/responseRefactor
: rules to refactor response using json-refactor
type
:map
default
:{}
refactor: rules
rules
: see json-refactor
pre/preHandle
: more handling to request params
type
:function
(params, name) => {... modify params, or return a new params ...}
post/postHandle
: more handling to response data
type
:function
(result, params, name) => {... modify result, or return a new result }
implement
: custom implementing instead of ajax
type
:function
(cb, params) => { ... cb(result) }
Sometimes, you have to not use ajax
, but other ways, like html templates.
api
seeAjax.config
: configure application
// one
seeAjax.config(name, options);
// multiple
seeAjax.config({
name1: options1,
name2: options2,
...
});
seeAjax.setEnv
: set current environment(index to get config options)
seeAjax.setEnv(0/1/2/3);
If you need multiple environments supports, you can configure all config options by array, and then set a env.
If you don't set an environment, 0 will be the default.
seeAjax.config(name, {
method: [method1, method2, ...],
stringify: [stringify1, stringify2, ...],
settings: [settings1, settings2, ...],
url: [url1, url2, ...],
req: [req1, req2, ...],
refactor: [refactor1, refactor2, ...],
pre: [pre1, pre2, ...],
post: [post1, post2, ...],
implement: [implement1, implement2, ...],
});
seeAjax.setEnv(0); // method1, stringify1, url1, ...
seeAjax.setEnv(1); // method2, stringify2, url2, ...
seeAjax.getEnv
: get current environment
const env = seeAjax.getEnv(); // 0/1/2/3
seeAjax
: make a request
seeAjax(name, params, successCallback, errorCallback);
name
: defined request namenote
:common
is a special request name, and it will apply to all requests
params
: request paramstype
:map
example
:{a: 1, b: '2'}
successCallback
: callback when ajax successexample
:res => { ... }
errorCallback
: callback when ajax occurs errorsexample
:error => { ... }
seeAjax.set
: set custom config
seeAjax.set({
debug: !0,
disableCache: !0,
disableCacheField: '_',
});
debug
:type: bool
default: true
whether in debug modedisableCache
:type: bool
default: true
disable request cache forGET, HEAD
methodsdisableCacheField
:type: string
default: _
field name for appending timestamp to original url whendisableCache
istrue
handlers sequences while processing
method
: check which http method to use, default isGET
stringify
: check whether to stringify request paramssettings
: check extra reqwest settingsurl
: get request urlreq
: get real request paramspre
: more handling before send a requestcommon
: common handling, if havename
: named handling
implement
: if have,see-ajax
will not send anajax
refactor
: refactoring response datacommon
: common handling, if havename
: named handling
post
: more handling after refactoring response datacommon
: common handling, if havename
: named handling