آموزش انگولار-Http

چاپ

http$ یک سرویس انگولار است که از آن برای خواندن داده ها از سرورهای دوردست استفاده می شود. 


ارائه دادن داده ها

داده ی زیر می تواند به وسیله ی یک سرور ارائه داده شود:

http://www.w3schools.com/angular/customers.php

{
"records": [
  {
    "Name" : "Alfreds Futterkiste",
    "City" : "Berlin",
    "Country" : "Germany"
  },
  {
    "Name" : "Berglunds snabbköp",
    "City" : "Luleå",
    "Country" : "Sweden"
  },
  {
    "Name" : "Centro comercial Moctezuma",
    "City" : "México D.F.",
    "Country" : "Mexico"
  },
  {
    "Name" : "Ernst Handel",
    "City" : "Graz",
    "Country" : "Austria"
  },
  {
    "Name" : "FISSA Fabrica Inter. Salchichas S.A.",
    "City" : "Madrid",
    "Country" : "Spain"
  },
  {
    "Name" : "Galería del gastrónomo",
    "City" : "Barcelona",
    "Country" : "Spain"
  },
  {
    "Name" : "Island Trading",
    "City" : "Cowes",
    "Country" : "UK"
  },
  {
    "Name" : "Königlich Essen",
    "City" : "Brandenburg",
    "Country" : "Germany"
  },
  {
    "Name" : "Laughing Bacchus Wine Cellars",
    "City" : "Vancouver",
    "Country" : "Canada"
  },
  {
    "Name" : "Magazzini Alimentari Riuniti",
    "City" : "Bergamo",
    "Country" : "Italy"
  },
  {
    "Name" : "North/South",
    "City" : "London",
    "Country" : "UK"
  },
  {
    "Name" : "Paris spécialités",
    "City" : "Paris",
    "Country" : "France"
  },
  {
    "Name" : "Rattlesnake Canyon Grocery",
    "City" : "Albuquerque",
    "Country" : "USA"
  },
  {
    "Name" : "Simons bistro",
    "City" : "København",
    "Country" : "Denmark"
  },
  {
    "Name" : "The Big Cheese",
    "City" : "Portland",
    "Country" : "USA"
  },
  {
    "Name" : "Vaffeljernet",
    "City" : "Århus",
    "Country" : "Denmark"
  },
  {
    "Name" : "Wolski Zajazd",
    "City" : "Warszawa",
    "Country" : "Poland"
  }
]
}

 http$ در انگولار

http$ از انگولار، یک سرویس هسته ای است که از آن برای خواندن داده ها از وب سرورها استفاده می شود. 

$http.get(url) تابعی است که از آن برای خواندن داده های سرور استفاده می شود. 

مثالی از انگولار

<div ng-app="myApp" ng-controller="customersCtrl"> 

<ul>
  <li ng-repeat="x in names">
    {{ x.Name + ', ' + x.Country }}
  </li>
</ul>

</div>

<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
    $http.get("http://www.w3schools.com/angular/customers.php")
    .success(function(response) {$scope.names = response.records;});
});
</script>
خودتان امتحان کنید »

توضیح اپلیکیشن:

اپلیکیشن انگولار به وسیله ی دستور ng-app تعریف می شود. این اپلیکیشن درون یک  <div> اجرا می شود.

دستور ng-controller را می توانیم شیء کنترلر(controller object) بنامیم. 

تابع customersCtrl یک سازنده ی شیء استاندارد در جاوااسکریپت است. 

انگولار با استفاده از یک شیء scope$ و شیء http$ تابع customersCtrl را فراخوانی می کند. 

scope$ درواقع شیء application است(دربردارنده ی توابع و متغیرهای اپلیکیشن).

http$ درواقع یک شیء XMLHttpRequest برای درخواست داده های اکسترنال(خارجی) است. 

()http.get$ داده های JSON را از آدرس :http://www.w3schools.com/angular/customers.php می خواند. 

در صورت موفقیت، کنترلر مورد نظر  یک خصوصیت(names) را در شیء scope به وسیله ی داده های JSON از سرور، ایجاد می کند.