AngularJS AJAX - $http
- صفحه قبلی خدمات AngularJS
- صفحه بعدی جدولهای AngularJS
$http یک سرویس از AngularJS است که برای خواندن دادهها از سرورهای دور قرار دارد.
AngularJS $http
AngularJS $http
سرویس درخواست به سرور ارسال میکند و پاسخ را بازمیگرداند.
مثال
یک درخواست ساده به سرور ارسال کنید و نتایج را در عنوان نمایش دهید:
<div ng-app="myApp" ng-controller="myCtrl"> <p>پیام خوشامدگویی امروز:</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>
روش
مثال بالا از $http
سرویسهای .get
روشها.
راههای سریع .get روشهای $http هستند. راههای سریع زیر وجود دارند:
.delete()
.get()
.head()
.jsonp()
.patch()
.post()
.put()
این روشها همه راههای سریع برای فراخوانی $http هستند:
مثال
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; }); });
مثال بالا از یک شیء به عنوان پارامتر برای اجرای $http استفاده میکند. این شیء روش HTTP، URL، عملیات اجرایی در موفقیت و عملیات اجرایی در شکست را مشخص میکند.
ویژگیها
پاسخ سرور یک شیء است که دارای ویژگیهای زیر است:
.config
شیء مورد استفاده برای ایجاد درخواست.data
رشته یا شیء، حمل پاسخ از سرور.headers
توابعی برای دریافت اطلاعات سربرگ.status
تعریف عددی برای وضعیت HTTP.statusText
تعریف رشتهای برای وضعیت HTTP
مثال
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; }); });
برای مدیریت خطا، به .then
یک تابع به روش اضافه کنید:
مثال
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"; }); });
JSON
دادههایی که از پاسخ دریافت میشود باید در فرمت JSON باشد.
JSON بهترین روش برای انتقال دادهها است و به راحتی در AngularJS یا هر JavaScript دیگر استفاده میشود.
مثال: ما در سرور یک فایل داریم که یک JSON object شامل 15 مشتری را برمیگرداند، همه اینها در یک نامگذاری به نام records
در آرایه.
لطفاً روی اینجا کلیک کنید تا JSON object را مشاهده کنید.
مثال
The ng-repeat directive is perfect for looping through an array:
<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>
توضیحات برنامه:
این برنامه تعریف شده است customersCtrl
کنترلگر، با محدوده
و http
عنصر است.
$http
یک عنصر XMLHttpRequest، برای درخواست دادههای خارجی استفاده میشود.
$http.get()
از https://www.codew3c.com/angular/customers.php خوانده میشود دادههای JSON.
پس از موفقیت، کنترلگر یک ویژگی در محدوده ایجاد میکند myData
، که شامل دادههای JSON از سرور است.
- صفحه قبلی خدمات AngularJS
- صفحه بعدی جدولهای AngularJS