Axios can do a ton of stuff, but here's a simpler solution that can handle most use cases
$http service. It seemed like a brilliant idea and that night in his hotel room at MidwestJS, he put together the first iteration.
It was awesome because working with raw XMLHttpRequest to make HTTP requests was not very fun. His library, which he later called
axios is a brilliant work and functioned both in NodeJS and the Browser which I remember him being really excited about (and I was too).
It's been almost six years now and if you're reading this chances are you've at least heard of it and very likely used it in the past or are using it now. It has an enormous and growing number of downloads on npm. And while Matt's long moved on from the project, it is still actively maintained.
Since it was released, the browser standard has evolved to add a new, promise-based API for making HTTP requests that provided a much nicer developer experience. This API is called fetch and if you haven't used it yet, you really ought to check it out. It's widely supported and easily polyfillable (my favorite is unfetch because the dog mascot is cute 🐶).