Angularjs basic ajax example to display value returned from ajax server call. We’ll use controller, template and $http for this tutorial.
Angularjs Ajax GET example using $http.get()
$http.get is a shortcut for ajax call in service $http. The data returned from server gets automatically sanitised using html entities conversion. So the tags in the data literally appear as tags in this example.
<div ng-app="myApp" ng-controller='MyCtrl'> <p>{{ajaxHtmlData}}</p> </div> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script> <script> var module = angular.module('myApp', []); module.controller('MyCtrl', function($scope, $http) { $http.get("/api/get-hello-world-with-tags.php") .then(function(response) { $scope.ajaxHtmlData = response.data; }); }); </script>
Angularjs Ajax GET example using $http.get() with error handling
<div ng-app="myApp" ng-controller='MyCtrl'> <p>{{ajaxHtmlData}}</p> </div> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script> <script> var module = angular.module('myApp', []); module.controller('MyCtrl', function($scope, $http) { $http.get("/api/test-404.php") .then(function(response) { $scope.ajaxHtmlData = response.data; }, function(response) { // handle error $scope.ajaxHtmlData = "Error. status: " + response.status + " statusText: " + response.statusText; }); }); </script>
Angularjs Ajax GET example with params using $http()
Here request params are getting appended to url and hence the requested url is /api/get-dump-raw.php?name1=value1
.
<div ng-app="myApp" ng-controller='MyCtrl'> <pre>{{ajaxHtmlData}}</pre> </div> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script> <script> var module = angular.module('myApp', []); module.controller('MyCtrl', function($scope, $http) { var req = { method: 'GET', url: '/api/get-dump-raw.php', params: {name1:"value1"}, } $http(req) .then(function(response) { $scope.ajaxHtmlData = response.data; }); }); </script>
Angularjs Ajax POST example using $http()
Here we need to use $httpParamSerializerJQLike to serialize params.
<div ng-app="myApp" ng-controller='MyCtrl'> <pre>{{ajaxHtmlData}}</pre> </div> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script> <script> var module = angular.module('myApp', []); module.controller('MyCtrl', function($scope, $http, $httpParamSerializerJQLike) { var data = {name1:"value1"} var req = { method: 'POST', url: '/api/post-dump-raw.php', data: $httpParamSerializerJQLike(data), headers: { 'Content-Type': 'application/x-www-form-urlencoded' } } $http(req) .then(function(response) { $scope.ajaxHtmlData = response.data; }, function(response) { // handle error $scope.ajaxHtmlData = "Error. status: " + response.status + " statusText: " + response.statusText; }); }); </script>
Angularjs Ajax POST example using $http.post()
<div ng-app="myApp" ng-controller='MyCtrl'> <pre>{{ajaxHtmlData}}</pre> </div> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script> <script> var module = angular.module('myApp', []); module.controller('MyCtrl', function($scope, $http, $httpParamSerializerJQLike) { var headers = {headers : { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}} $http.post('/api/post-dump-raw.php', $httpParamSerializerJQLike({name1:"value1"}), headers) .then(function(response) { $scope.ajaxHtmlData = response.data; }, function(response) { // handle error $scope.ajaxHtmlData = "Error. status: " + response.status + " statusText: " + response.statusText; }); }); </script>