$ http เป็นบริการ AngularJS สำหรับอ่านข้อมูลจากเซิร์ฟเวอร์ระยะไกล
AngularJS $ http
AngularJS $http
บริการทำให้การร้องขอไปยังเซิร์ฟเวอร์และผลตอบแทนการตอบสนอง
ตัวอย่าง
ทำการร้องขอไปยังเซิร์ฟเวอร์ที่เรียบง่ายและแสดงผลในส่วนหัวที่:
<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>
ลองตัวเอง» วิธีการ
ตัวอย่างข้างต้นใช้ .get
วิธีการ $http
บริการ
วิธีการรับการตอบสนองเป็นวิธีลัดในการให้บริการ 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 mySucces(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 หรือจาวาสคริปต์อื่น ๆ
ตัวอย่าง: บนเซิร์ฟเวอร์ที่เรามีแฟ้มที่ส่งกลับวัตถุ JSON มีลูกค้า 15 ห่อทั้งหมดในอาร์เรย์เรียกว่า records
ตัวอย่าง
ng-repeat
คำสั่งที่เหมาะสำหรับการวนลูปผ่านอาร์เรย์:
<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
ควบคุมด้วย $scope
และ $http
วัตถุ
$http
เป็นวัตถุ XMLHttpRequest สำหรับการขอข้อมูลภายนอก
$http.get()
อ่านข้อมูล JSON จาก http://www.w3ii.com/angular/customers.php
เกี่ยวกับความสำเร็จของตัวควบคุมจะสร้างสถานที่ให้บริการ myData
ในขอบเขตที่มี JSON ข้อมูลจากเซิร์ฟเวอร์