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
Method | Use |
---|---|
GET | Server рд╕реЗ data рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП |
POST | Server рдХреЛ 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
Property | Use |
---|---|
response.data | Actual response content |
response.status | HTTP status code (e.g. 200, 404) |
response.headers() | Headers info |
response.config | Original 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)
$http
service рдХрд╛ use рдХреНрдпрд╛ рд╣реИ AngularJS рдореЗрдВ?.then()
function рдореЗрдВ рдХрд┐рддрдиреЗ arguments рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХрд╛ рдорддрд▓рдм рдХреНрдпрд╛ рд╣реИ?- POST request рдХрдм рдФрд░ рдХреНрдпреЛрдВ use рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?
тЬЕ рдЖрдкрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛?
- AngularJS рдореЗрдВ
$http
service рдХреНрдпрд╛ рд╣реИ - GET рдФрд░ POST request рдХреИрд╕реЗ рднреЗрдЬрддреЗ рд╣реИрдВ
- API рд╕реЗ рдбреЗрдЯрд╛ рд▓рд╛рдиреЗ рдФрд░ рднреЗрдЬрдиреЗ рдХрд╛ рддрд░реАрдХрд╛
- Error handling рдФрд░ response structure
- Real-world examples
ЁЯОп рдЕрдм рдЖрдк рдЕрдкрдиреЗ AngularJS App рдХреЛ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рд╕реЗ connect рдХрд░рдирд╛ рд╕реАрдЦ рдЪреБрдХреЗ рд╣реИрдВ тАФ рдпрд╛рдиреА Real Data Ready!