$ HTTP è un servizio AngularJS per la lettura dei dati da server remoti.
AngularJS $ http
Il AngularJS $http
servizio fa una richiesta al server, e restituisce una risposta.
Esempio
Fare una semplice richiesta al server, e visualizzare il risultato in un colpo di testa:
<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>
Prova tu stesso " metodi
L'esempio precedente utilizza il .get
metodo $http
servizio.
Il metodo .get è un metodo di collegamento del servizio di $ http. Ci sono diversi metodi di scelta rapida:
-
.delete()
-
.get()
-
.head()
-
.jsonp()
-
.patch()
-
.post()
-
.put()
I metodi di cui sopra sono tutti i collegamenti di chiamare il servizio di $ http:
Esempio
var app = angular.module('myApp', []);
app.controller('myCtrl',
function($scope, $http) {
$http({
method : "GET",
url : "welcome.htm"
}).then(function mySucces(response) {
$scope.myWelcome = response.data;
}, function myError(response)
{
$scope.myWelcome =
response.statusText;
});
});
Prova tu stesso " L'esempio precedente esegue il servizio http $ con un oggetto come argomento. L'oggetto viene specificando il metodo HTTP, l'URL, cosa fare in caso di successo, e cosa fare in caso di fallimento.
Proprietà
La risposta dal server è un oggetto con queste proprietà:
-
.config
l'oggetto utilizzato per generare la richiesta. -
.data
una stringa o un oggetto, portando la risposta dal server. -
.headers
una funzione da utilizzare per ottenere informazioni di intestazione. -
.status
un numero che definisce lo stato HTTP. -
.statusText
una stringa che definisce lo stato HTTP.
Esempio
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;
});
});
Prova tu stesso " Per gestire gli errori, aggiungere uno più funzioni al .then
metodo:
Esempio
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";
});
});
Prova tu stesso " JSON
I dati si ottiene dalla risposta dovrebbe essere in formato JSON.
JSON è un ottimo modo di trasporto di dati, ed è facile da usare all'interno AngularJS, o qualsiasi altra JavaScript.
Esempio: Sul server abbiamo un file che restituisce un oggetto JSON contenente 15 clienti, il tutto avvolto in array chiamato records
.
Date un'occhiata a l'oggetto JSON.
Esempio
Il ng-repeat
direttiva è perfetto per il ciclo attraverso una serie:
<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>
Prova tu stesso " Applicazione ha spiegato:
L'applicazione definisce il customersCtrl
controllore, con un $scope
e $http
oggetto.
$http
è un oggetto XMLHttpRequest per la richiesta di dati esterni.
$http.get()
legge i dati JSON da http://www.w3ii.com/angular/customers.php .
In caso di successo, il controllore crea una proprietà, myData
, nel campo di applicazione, con i dati JSON dal server.