Angular JS Tutorial

AngularJS HTTP

ЁЯУМ AngularJS $http рдХреНрдпрд╛ рд╣реИ?

AngularJS рдореЗрдВ $http рдПрдХ built-in service рд╣реИ рдЬреЛ рд╣рдореЗрдВ HTTP requests рднреЗрдЬрдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рджреЗрддрд╛ рд╣реИ тАФ рдЬреИрд╕реЗ:

  • тЬЕ GET (рдбреЗрдЯрд╛ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП)
  • тЬЕ POST (рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП)
  • тЬЕ PUT (рдбреЗрдЯрд╛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)
  • тЬЕ DELETE (рдбреЗрдЯрд╛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП)

рдЖрд╕рд╛рди рднрд╛рд╖рд╛ рдореЗрдВ: $http рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣рдо API рд╕реЗ рдбреЗрдЯрд╛ рд▓рд╛рдиреЗ рдпрд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ тАФ рдмрд┐рд▓реНрдХреБрд▓ JavaScript рдХреЗ fetch() рдпрд╛ XMLHttpRequest рдЬреИрд╕реЗред


тЬНя╕П Basic Syntax

$http({
  method: 'GET',
  url: 'https://api.example.com/data'
}).then(function(response) {
  // success
}, function(error) {
  // error
});

тЬЕ Example: Simple GET Request

<div ng-app="myApp" ng-controller="myCtrl">
  <ul>
    <li ng-repeat="item in items">{{ item.title }}</li>
  </ul>
</div>

<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope, $http) {
  $http.get("https://jsonplaceholder.typicode.com/posts")
    .then(function(response) {
      $scope.items = response.data.slice(0, 5); // 5 рдкреЛрд╕реНрдЯ рджрд┐рдЦрд╛рдПрдБ
    }, function(error) {
      console.log("Error:", error);
    });
});
</script>

рдЬреИрд╕реЗ рд╣реА рдкреЗрдЬ рд▓реЛрдб рд╣реЛрдЧрд╛, API рд╕реЗ рдбреЗрдЯрд╛ рдЖрдПрдЧрд╛ рдФрд░ list рдореЗрдВ рджрд┐рдЦреЗрдЧрд╛ред


ЁЯФБ GET vs POST

MethodUse
GETServer рд╕реЗ data рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП
POSTServer рдХреЛ data рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП (e.g. form submit)

тЬЕ Example: POST Request (Form Submit)

<div ng-app="myApp" ng-controller="myCtrl">
  <input type="text" ng-model="user.name" placeholder="Name">
  <button ng-click="submitForm()">Submit</button>
  <p>{{ responseMessage }}</p>
</div>

<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope, $http) {
  $scope.user = {};
  $scope.submitForm = function() {
    $http.post("https://jsonplaceholder.typicode.com/posts", $scope.user)
      .then(function(response) {
        $scope.responseMessage = "Form submitted! ID: " + response.data.id;
      }, function(error) {
        $scope.responseMessage = "Something went wrong!";
      });
  };
});
</script>

Output: API рдкрд░ рдбреЗрдЯрд╛ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ response message рдорд┐рд▓реЗрдЧрд╛ред


ЁЯУж Common Response Properties

PropertyUse
response.dataActual response content
response.statusHTTP status code (e.g. 200, 404)
response.headers()Headers info
response.configOriginal request config

ЁЯФР Headers рдХреЗ рд╕рд╛рде Request рднреЗрдЬрдирд╛

$http({
  method: 'GET',
  url: 'https://api.example.com/data',
  headers: {
    'Authorization': 'Bearer token123'
  }
})
.then(function(response) {
  $scope.data = response.data;
});

тЪая╕П Error Handling

рд╣рдореЗрд╢рд╛ .then(success, error) рдореЗрдВ error function рдХреЛ include рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЕрдЧрд░ API fail рд╣реЛ рдЬрд╛рдП рддреЛ graceful message рджрд┐рдЦрд╛ рд╕рдХреЗрдВред


ЁЯТб Real-Life Use Cases:

  • Blogs/posts/data fetch рдХрд░рдирд╛
  • Contact form submit рдХрд░рдирд╛
  • Admin panel рд╕реЗ рдбреЗрдЯрд╛ load/update/delete рдХрд░рдирд╛
  • External API (рдЬреИрд╕реЗ weather, news, quotes) integrate рдХрд░рдирд╛

ЁЯза рдЕрднреНрдпрд╛рд╕ рдкреНрд░рд╢реНрди (Exercise)

  1. $http service рдХрд╛ use рдХреНрдпрд╛ рд╣реИ AngularJS рдореЗрдВ?
  2. .then() function рдореЗрдВ рдХрд┐рддрдиреЗ arguments рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХрд╛ рдорддрд▓рдм рдХреНрдпрд╛ рд╣реИ?
  3. POST request рдХрдм рдФрд░ рдХреНрдпреЛрдВ use рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?

тЬЕ рдЖрдкрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛?

  • AngularJS рдореЗрдВ $http service рдХреНрдпрд╛ рд╣реИ
  • GET рдФрд░ POST request рдХреИрд╕реЗ рднреЗрдЬрддреЗ рд╣реИрдВ
  • API рд╕реЗ рдбреЗрдЯрд╛ рд▓рд╛рдиреЗ рдФрд░ рднреЗрдЬрдиреЗ рдХрд╛ рддрд░реАрдХрд╛
  • Error handling рдФрд░ response structure
  • Real-world examples

ЁЯОп рдЕрдм рдЖрдк рдЕрдкрдиреЗ AngularJS App рдХреЛ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рд╕реЗ connect рдХрд░рдирд╛ рд╕реАрдЦ рдЪреБрдХреЗ рд╣реИрдВ тАФ рдпрд╛рдиреА Real Data Ready!