ajax-promised
Simple ajax utility which returns a Promise. Automatically parses JSON response if response is application/json
. Serializes an Object of key/value pairs for easy query string creation in GET requests.
Checks HTTP status codes and rejects
unsuccessful requests for easy error handling.
Both resolve
and reject
recieve an Object containing:
data // The response data. Could be a String, Object, ArrayBuffer, Blob, Document status // statusText, e.g. 'Success' xhr // XMLHttpRequest object
Example usage:
; // simple GET; // When function argument is a string, it will act like the above GET; // *** The below examples use async/await syntax and assume each snippets is inside an async function *** // POST JSON to an APIconst data = await ;// const data will be: { name: 'morpheus', job: 'leader', id: 517, createdAt: '2019-08-15T18:41:22.185Z' } // DELETEconst status = await ;// const status will be: 'Success' // in a GET request, the data object will be serialized into a query string;// requested url will be '/path?key=value&key2=value2' // Binaryconst data = await ;// (data instanceof ArrayBuffer) === true // All options (and defaults) that can be passed into the ajax function url: '' method: 'GET' cache: true // if set to false, a cache busting timestamp will be added to the request url // below options have no default values headers // Object - e.g. { 'accept': 'application/json;odata=verbose' } data // POST data or GET query string object responseType // String - e.g. 'blob', 'arraybuffer', etc. see MDN XMLHttpRequest.responseType withCredentials // see MDN XMLHttpRequest.withCredentials timeout // see MDN XMLHttpRequest.timeout onprogress // see MDN XMLHttpRequestEventTarget.onprogress