Nattily Polished Marbles

    metal-ajax

    3.1.1 • Public • Published

    metal-ajax

    Build Status

    Build Status

    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

    1. Install a recent release of NodeJS if you don't have it yet.

    2. Install local dependencies:

    npm install
    
    1. Run the tests:
    npm test
    

    Contributing

    Check out the contributing guidelines for more information.

    Keywords

    Install

    npm i metal-ajax

    DownloadsWeekly Downloads

    895

    Version

    3.1.1

    License

    BSD

    Unpacked Size

    335 kB

    Total Files

    8

    Last publish

    Collaborators

    • tinycarol
    • edalgrin
    • pat270
    • liferay
    • bryceosterhaus
    • carloslancha
    • diegonvs
    • matuzalemteles
    • izaera
    • gagranta
    • p2kmgcl
    • marko.cikos
    • kresimircoko
    • fernandosouza
    • jbalsas
    • brunobasto
    • rframpton
    • mairatma
    • eduardolundgren