-
Notifications
You must be signed in to change notification settings - Fork 1
Home
reco_luan edited this page Dec 29, 2018
·
11 revisions
Fetch for Browser, using ES6 syntax, you may need Babel to translate. 中文文档
$ npm isntall reco-fetchIn addition to the parameters given below, please combine other parameters MDN .
import recoFetch from 'reco-fetch'
/**
* @param {String, must} url API URL
* @param {String, must} options Parameter objects, including:
* method {String, optional} Request method, default 'get'
* headers {Object, optional} Set request header
* params {Object, optional} url parameters
* body {Object, optional} request body
* timeout {Number, optional} Request timeout
* type {String, optional} When 'post' requests, you can set: 'json', 'formData'
*/
const options = {
method: 'post',
headers: {},
timeout: 1000,
body: {
id: 1,
value: 2
}
}
recoFetch(url, options). then(res => {
console.log(res)
}).catch(err => {
console.log(err)
})GET
const options = {
method: 'get',
params: {
key: 1,
value: 2
}
}
recoFetch(url, options). then(res => {
console.log(res)
}).catch(err => {
console.log(err)
})POST JSON
const options = {
method: 'post',
body: {
key: 1,
value: 2
},
type: 'json'
}
recoFetch(url, options). then(res => {
console.log(res)
}).catch(err => {
console.log(err)
})POST formData
const options = {
method: 'post',
body: {
key: 1,
value: 2
},
type: 'formData'
}
// or
const form = document.querySelector('form')
const options = {
method: 'post',
body: form
}
recoFetch(url, options). then(res => {
console.log(res)
}).catch(err => {
console.log(err)
})PUT
const options = {
method: 'put',
body: {
key: 1,
value: 2
},
type: 'json'
}
// or
const options = {
method: 'put',
body: JSON.stringify({
key: 1,
value: 2
})
}
recoFetch(url, options). then(res => {
console.log(res)
}).catch(err => {
console.log(err)
})DELETE
const options = {
method: 'delete',
params: {
key: 1,
value: 2
}
}
recoFetch(url, options). then(res => {
console.log(res)
}).catch(err => {
console.log(err)
})uploadFile
const fileField = document.querySelector("input[type='file']")
const options = {
method: 'post',
body: {
file: fileField.files[0]
},
type: 'formData'
}
// or
const formData = new FormData()
const fileField = document.querySelector("input[type='file']")
formData.append('file', fileField.files[0])
const options = {
method: 'post',
body: formData
}
recoFetch(url, options). then(res => {
console.log(res)
}).catch(err => {
console.log(err)
})