AngularJS Http


$http — masofaviy serverlardan ma’lumot o‘qish uchun AngularJS servisi.


ULASHISH

AngularJS $http

AngularJS’ning $http servisi serverga so‘rov yuboradi va javob qaytaradi.

Misol

Serverga oddiy so‘rov yuboring va natijani sarlavhada ko‘rsating:

<div ng-app="myApp" ng-controller="myCtrl"> <p>Today's welcome message is:</p> <h1>{{myWelcome}}</h1> </div> <script>
var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $http) {   $http.get("welcome.htm")   .then(function(response) {     $scope.myWelcome = response.data;   }); });
</script>
O‘zingiz sinab ko‘ring »

Metodlar

Yuqoridagi misolda $http servisining .get metodi ishlatilgan.

.get metodi $http servisining qisqartma (shortcut) metodi hisoblanadi.

Bir nechta qisqartma metodlar mavjud:

  • .delete()
  • .get()
  • .head()
  • .jsonp()
  • .patch()
  • .post()
  • .put()

Yuqoridagi metodlarning barchasi $http servisini chaqirishning qisqartmalaridir:

Misol

var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $http) {   $http({     method : "GET",       url : "welcome.htm"   }).then(function mySuccess(response) {     $scope.myWelcome = response.data;   }, function myError(response) {     $scope.myWelcome = response.statusText;   }); });
O‘zingiz sinab ko‘ring »

Yuqoridagi misol $http servisini argument sifatida obyekt berib bajaradi.

Obyekt HTTP metodini, url’ni, muvaffaqiyatli bo‘lganda nima qilishni va xatolik yuz berganda nima qilishni belgilaydi.



Xususiyatlar

Serverdan kelgan javob quyidagi xususiyatlarga ega obyekt hisoblanadi:

  • .config so‘rovni yaratishda ishlatilgan obyekt.
  • .data serverdan kelgan javobni o‘zida saqlovchi string yoki obyekt.
  • .headers sarlavha (header) ma’lumotlarini olish uchun ishlatiladigan funksiya.
  • .status HTTP holatini bildiruvchi son.
  • .statusText HTTP holatini bildiruvchi string.

Misol

var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $http) {   $http.get("welcome.htm")   .then(function(response) {     $scope.content = response.data;     $scope.statuscode = response.status;     $scope.statustext = response.statusText;   }); });
O‘zingiz sinab ko‘ring »

Xatolarni qayta ishlash uchun .then metodiga yana bitta funksiya qo‘shing:

Misol

var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $http) {   $http.get("wrongfilename.htm")   .then(function(response) {     // First function handles success     $scope.content = response.data;   }, function(response) {     // Second function handles error     $scope.content = "Something went wrong";   }); });
O‘zingiz sinab ko‘ring »

JSON

Javobdan olinadigan ma’lumotlar JSON formatida bo‘lishi kutiladi.

JSON — ma’lumotlarni uzatishning ajoyib usuli, uni AngularJS yoki boshqa har qanday JavaScript ichida ishlatish oson.

Misol: serverda 15 ta mijozni o‘z ichiga olgan, records nomli massivga o‘ralgan JSON obyektini qaytaradigan fayl bor.

JSON obyektini ko‘rish uchun shu yerni bosing.

×

customers.php

{{data | json}}

Misol

ng-repeat direktivasi massiv elementlarini aylanib chiqish uchun juda mos:

<div ng-app="myApp" ng-controller="customersCtrl"> <ul>   <li ng-repeat="x in myData">     {{ x.Name + ', ' + x.Country }}   </li> </ul> </div> <script>
var app = angular.module('myApp', []); app.controller('customersCtrl', function($scope, $http) {   $http.get("customers.php").then(function(response) {     $scope.myData = response.data.records;   }); });
</script>
O‘zingiz sinab ko‘ring »

Ilova izohi:

Ilova $scope va $http obyektlariga ega customersCtrl kontrollerini belgilaydi.

$http — tashqi ma’lumotlarni so‘rash uchun XMLHttpRequest obyekti.

$http.get() https://www.w3schools.com/angularjs/customers.php manzilidan JSON ma’lumotlarini o‘qiydi.

Muvaffaqiyatli bo‘lganda kontroller scope’da serverdan kelgan JSON ma’lumotlari bilan myData xususiyatini yaratadi.


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!