Making HTTP requests using $http or HttpClient

AngularJS is a popular JavaScript framework that allows developers to build dynamic and sophisticated web applications. One of the key features of AngularJS is its ability to make HTTP requests to retrieve data from external APIs.

There are two ways to make HTTP requests in AngularJS: using the $http service or the newer HttpClient provided in Angular version 4 and above.

Using $http

The $http service is included in the core AngularJS framework and provides a set of convenience methods for making HTTP requests. To use $http, you need to inject it into your controller or service.

Here's an example of how to make a GET request using $http:

    .then(function(response) {
        // handle success
    .catch(function(error) {
        // handle error

In the above code snippet, we use the $http.get method to send a GET request to the /api/data URL. We then use the .then and .catch methods to handle the response and any potential errors.

Other methods provided by $http include post, put, delete, etc. These methods follow a similar syntax and allow you to make different types of HTTP requests.

Using HttpClient

In newer versions of Angular (version 4 and above), the HttpClient module is recommended for making HTTP requests. HttpClient is a more modern and efficient way of handling HTTP requests and responses.

To use HttpClient, you first need to import it from the @angular/common/http module:

import { HttpClient } from '@angular/common/http';

Then, you can inject HttpClient into your component or service:

constructor(private http: HttpClient) { }

Once you have HttpClient injected, you can start making HTTP requests:

    .subscribe((response) => {
        // handle success
    }, (error) => {
        // handle error

In this example, we use the get method of HttpClient to make a GET request to the /api/data URL. We subscribe to the observable returned by the get method and provide callback functions to handle the response and potential errors.

Similarly to $http, HttpClient provides other methods such as post, put, delete, etc., allowing you to make different types of HTTP requests.


Both $http and HttpClient provide powerful ways to make HTTP requests in AngularJS. While $http is suitable for older versions of Angular, it is recommended to use HttpClient for newer Angular versions due to its improved performance and better error handling capabilities. Whichever method you choose, making HTTP requests in AngularJS is straightforward and allows you to easily retrieve data from external APIs to enhance your web applications.

© NoobToMaster - A 10xcoder company