1.0.0 • Published 8 years ago
basic-xhr v1.0.0
The bare-bones XMLHttpRequest wrapper that I use when I want to use XHR.
Set up some options, make a request, get back a promise.
Requires ES2015 shims (Promise, Object.assign, Object.keys).
API
const createRequestFunction = require('basic-xhr')The module exports a function that takes options and returns a re-usable XHR function.
makeXhr = createRequestFunction(options)
const get = createRequestFunction()
get('/some/nifty/api?cool=yes').then(responseBody => {
console.log(responseBody.valueFromServer)
})Options
method: string, defaults to'GET'success: function, defaults torequest => request.status >= 200 && request.status < 400parse: function, defaults torequest => JSON.parse(request.responseText)serialize: function, defaults tobody => JSON.stringify(body)headers: object, defaults to{}
promise = makeXhr(url, body)
Returns a promise that is rejected if success returns false, if the XHR emits error or abort, or if the parse function throws.
The promise is resolved with whatever parse returns.
Snippets you can copy/paste
const createRequestFunction = require('basic-xhr')
const post = createRequestFunction({
method: 'POST',
headers: {
'Content-Type': 'application/json'
}
})
const response = post('/person', { name: 'Cool guy' })If you have any common use cases, add a new snippet here.
License
1.0.0
8 years ago