rabbit-sdk
v1.2.19
Published
rabbit封装的ajax访问插件
Downloads
44
Readme
rabbit 封装的 ajax 访问插件
Install
$ npm install rabbit-sdk --save
Usage
const rabbit = require('rabbit-sdk')
// Make a request for a user with a given ID
rabbit
.get('/user?ID=12345')
.then(function (response) {
// handle success
console.log(response)
})
.catch(function (error) {
// handle error
console.log(error)
})
.finally(function () {
// always executed
})
// Optionally the request above could also be done as
rabbit
.get('/user', {
params: {
ID: 12345,
},
})
.then(function (response) {
console.log(response)
})
.catch(function (error) {
console.log(error)
})
.finally(function () {
// always executed
})
Performing a POST
request
rabbit
.post('/user', {
firstName: 'Fred',
lastName: 'Flintstone',
})
.then(function (response) {
console.log(response)
})
.catch(function (error) {
console.log(error)
})
rabbit
.post(
'/user',
{
firstName: 'Fred',
lastName: 'Flintstone',
},
{
params: {
ID: 12345,
},
}
)
.then(function (response) {
console.log(response)
})
.catch(function (error) {
console.log(error)
})
rabbit API
Requests can be made by passing the relevant config to rabbit
.
rabbit(config)
// Send a POST request
rabbit.ajax({
method: 'post',
url: '/user/12345',
data: {
firstName: 'Fred',
lastName: 'Flintstone',
},
})
// GET request for remote image
rabbit
.ajax({
method: 'get',
url: 'http://bit.ly/2mTM3nY',
responseType: 'stream',
})
.then(function (response) {
response.data.pipe(fs.createWriteStream('ada_lovelace.jpg'))
})
For convenience aliases have been provided for all supported request methods.
rabbit.ajax(config)
rabbit.get(url[, config])
rabbit.delete(url[, config])
rabbit.head(url[, config])
rabbit.options(url[, config])
rabbit.post(url[, data[, config]])
rabbit.put(url[, data[, config]])
rabbit.patch(url[, data[, config]])
Request Config
These are the available config options for making requests. Only the url
is required. Requests will default to GET
if method
is not specified.
{
// `url` is the server URL that will be used for the request
url: '/user',
// `method` is the request method to be used when making the request
method: 'get', // default
// `headers` are custom headers to be sent
headers: {'X-Requested-With': 'XMLHttpRequest'},
// `params` are the URL parameters to be sent with the request
// Must be a plain object or a URLSearchParams object
params: {
ID: 12345
},
//contentType
contentType:"application/json; charset=UTF-8",// default
//async
async:ture,// default
// `data` is the data to be sent as the request body
// Only applicable for request methods 'PUT', 'POST', and 'PATCH'
// When no `transformRequest` is set, must be of one of the following types:
// - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams
// - Browser only: FormData, File, Blob
// - Node only: Stream, Buffer
data: {
firstName: 'Fred'
},
// syntax alternative to send data into the body
// method post
// only the value is sent, not the key
data: 'Country=Brasil&City=Belo Horizonte',
// `timeout` specifies the number of milliseconds before the request times out.
// If the request takes longer than `timeout`, the request will be aborted.
timeout: 1000, // default is `0` (no timeout)
// `dataType` indicates the type of data that the server will respond with
// options are: 'arraybuffer', 'document', 'json', 'text', 'stream'
// browser only: 'blob'
dataType: 'json', // default
//Method executed after successful operation
success:function (res, status, errCode) {
},
//Method to be executed after running failure
error:function (res, status, errCode) {
},
//The method executed after the operation is completed
complete:function (xdr,status, errCode) {
},
}
License
更新记录
1 添加Data对象操作,路径是相对于整个服务的;与Resource的区别在与,Resource是定制出来的服务,相对于Resource目录的,Data比Resource调用时的相对路径要多写一级路径。
MIT