AngularJS http request

HTTP Request

AngularJS covers HTTP request feature $http
This is remote http service with XMLHttpRequest.

The $http$http service is a function which takes a single argument and return Promise

  • $http.get
  • $http.head
  • $http.post
  • $http.put
  • $http.delete
  • $http.jsonp
  • $http.patch

Simple Usage GET

$http.get('/hello').
  then(function(response) {
  }, function(response) {
  });

Simple Usage POST

$http.post('/hello', {msg:'Hello Japan!'}).
  then(function(response) {
  }, function(response) {
  });

response is Object.

Example

This is nodejs express example to use this.
app.js

var fs = require('fs');
var approot = require('app-root-path');

// Read and display json file
app.get('/:file.json', function(req, res, next) {
    var file = approot + '/data/' + req.params.file + '.json';

    fs.readFile(file, 'utf8', function (err, data) {
        if (err) {
            next(err);
        }//console.log(data);
        res.json(JSON.parse(data));
    });
});

app.get('/httptest', function(req, res, next) {
    res.render('http', { title: 'HttpTest' });
});

httptest.ejs

<!DOCTYPE html>
<html ng-app="httpApp">
<head>
    <title><%= title %></title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
    <link rel='stylesheet' href='/bower/bootstrap/dist/css/bootstrap.css' />
    <script src="/bower/angular/angular.min.js"></script>
    <script src="/javascripts/http.js"></script>
</head>
<body ng-controller="httpController">
<div class="container-fluid">
    Search: <input ng-model="query"><br>
    Sorted by:<br>
    <select ng-model="orderProp">
        <option value="name">Alphabetical</option>
        <option value="age">Newest</option>
    </select>
    <ul class="names">
        <li ng-repeat="person in people | filter:query | orderBy:orderProp">
            {{person.name}}
            <p>{{person.age}}</p>
        </li>
    </ul>
</div>
</div>
</div>
</body>
</html>

This has angular.js and angular management javascript http.js
people are from http.js controller

http.js

var httpApp = angular.module('httpApp', []);

httpApp.controller('httpController', function($scope, $http){
    $http.get('name.json').success(function(data) {
        $scope.people = data;
    }, function(response){
        // Error
    });
    $scope.orderProp = 'age';
});