Skip to content

Yet another simple ajax library for browsers. 🤦

License

Notifications You must be signed in to change notification settings

charto/charto-ajax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

charto-ajax

npm version

Reinventing the wheel with another ajax library for browsers.

This one is really simple and compact.

  • One function, ajax.
  • Three parameters, only the first is mandatory:
    • URL.
    • Options object with method, headers and body, like the new fetch API.
      • Additionally, an xhr field for passing your own XMLHttpRequest instance. Useful if you need access for monitoring its progress.
      • TypeScript definition provided: AjaxOptions.
    • Object with query parameters. Keys are sorted and passed (with values) through encodeURIComponent.
  • Returns a Promise. Resolves after onload with status 200, rejects otherwise.
    • Either way, the value of the Promise is the XMLHttpRequest object.

Usage

import { ajax } from 'charto-ajax';

ajax(
	'https://www.google.com/',
	{ method: 'GET' },
	{ q: 'ajax' }
).then(
	(xhr) => console.log(xhr.responseText)
);

Why not use fetch?

  • This is less code than a polyfill.
  • The returned Promise is rejected on HTTP errors like 404.
  • Easy access to the XMLHttpRequest object during and after requests, which may be useful.
  • Query parameters are handled for you. Might save a bit of code, YMMV.

License

The MIT License

Copyright (c) 2017 BusFaster Ltd

About

Yet another simple ajax library for browsers. 🤦

Resources

License

Stars

Watchers

Forks

Packages

No packages published