metal-ajax
v3.1.1
Published
Metal.js utility to perform Ajax requests
Downloads
5,252
Maintainers
Keywords
Readme
metal-ajax
Low-level Metal.js utility to perform Ajax requests. If you're looking for something higher level, take a look at fetch.
Use
Simple request
import Ajax from 'metal-ajax';
Ajax.request('/url', 'get')
.then(xhrResponse => {
// Handle response
});
Posts
Ajax.request('/url', 'post', 'requestBody')
.then(xhrResponse => {
// Handle response
});
Request headers and params
Custom request headers and params can bet set
using a MultiMap
from metal-structs.
import {MultiMap} from 'metal-structs';
const headers = new MultiMap();
const params = new MultiMap();
headers.add('content-type', 'application/json');
params.add('foo', 'bar');
Ajax.request('/url', 'get', null, headers, params)
.then(function(xhrResponse) {
// Handle response
});
Catching errors
Ajax.request('/url', 'get')
.then(xhrResponse => {
// Handle response
})
.catch(error => {
// Handle error
});
Watch for progress
In order for the progress
listener to work, the response must have
the Content-Length response
header set.
Ajax.request('/url', 'get')
.progress(progress => {
// Fires with a value between 0 and 1 representing the percent
})
.then(xhrResponse => {
// Handle response
})
Setup
Install a recent release of NodeJS if you don't have it yet.
Install local dependencies:
npm install
- Run the tests:
npm test
Contributing
Check out the contributing guidelines for more information.