AngularJS Http



$http 是 AngularJS 中的一個核心服務,用於讀取遠端伺服器的資料。


讀取 JSON 檔案

以下是儲存在網頁伺服器上的 JSON 檔案:

http://www.php.cn/try/angularjs/data/Customers_JSON.php

{
#    “記錄”:
[
{
“名稱”:“Alfreds Futterkiste”,
“城市”:“柏林”,
“國家”:“德國”
},
{
"名稱":"Berglunds snabbköp",
"城市" : "呂勒奧",
"國家" : "瑞典"
},
{
"姓名" : "中心商業中心 蒙特蘇馬",
"城市" : "墨西哥D.F.",
"國家" : "墨西哥"
},
{
"名稱" : "恩斯特·亨德爾",
"城市”:“格拉茨”,
“國家”:“奧地利”
},
{
“名稱”:“FISSA Fabrica Inter。 Salchichas S.A.",
"城市" : "馬德里",
"國家" : "西班牙"
},
{
"名稱" : "Galería del gastronomo",
"城市" : "巴塞隆納",
"國家" : "西班牙"
},
{
"名稱" : "島嶼 交易",
"城市" : "考斯",
"國家" : "英國"
},
{
"姓名" : "Königlich 埃森",
"城市":"勃蘭登堡",
"國家":"德國"
},
{
"名稱":"笑巴克斯酒窖",
“城市”:“溫哥華”,
“國家”:“加拿大”
},
{
“名稱”:“Magazzini Alimentari Riuniti”,
“城市」:「貝加莫」 ,
"國家" : "義大利"
},
{
"名稱" : "北/南",
"城市" : "倫敦",
"國家" : "英國"
},
{
"名稱" : "巴黎 spécialités",
“城市”:“巴黎”,
“國家”:“法國”
},
{
“名稱”:“響尾蛇峽谷雜貨店”,
“城市”:“阿爾伯克基",
"國家" : "美國"
},
{
"名稱" : "西蒙斯小酒館",
"城市" : "哥本哈根",
"國家" : "丹麥"
},
{
"名稱" : "大起司",
"城市" : "波特蘭",
"國家" : "美國"
},
{
"名稱" : "Vaffeljernet",
"城市" : "奧胡斯",
"國家" : "丹麥"
},
{
"名稱" : 「沃斯基 Zajazd",
"城市":"華沙",
"國家":"波蘭"
}
]
}


AngularJS $http

AngularJS $http 是用於讀取web伺服器上資料的服務。

$http.get(url) 是用來讀取伺服器資料的函數。

實例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>

<div ng-app="myApp" ng-controller="siteCtrl"> 

<ul>
  <li ng-repeat="x in names">
    {{ x.Name + ', ' + x.Country }}
  </li>
</ul>

</div>

<script>
var app = angular.module('myApp', []);
app.controller('siteCtrl', function($scope, $http) {
  $http.get("http://www.runoob.com/try/angularjs/data/sites.php")
  .success(function (response) {$scope.names = response.sites;});
});
</script>

</body>
</html>

運行實例»

點擊"運行實例" 按鈕查看線上實例

應用解析:

注意:以上程式碼的get 請求是本站的伺服器,你不能直接拷貝到你本地運行,會存在跨域問題,解決方法就是將Customers_JSON.php 的資料拷貝到你自己的伺服器上,附:PHP Ajax 跨域問題最佳解決方案。

AngularJS 應用程式透過 ng-app 定義。應用在 <div> 中執行。

ng-controller 指令設定了 controller 對象 名。

函數 customersController 是一個標準的 JavaScript 物件建構器

控制器物件有一個屬性: $scope.names

$http.get() 從網頁伺服器上讀取靜態  JSON 資料

伺服器資料檔為: http://www.php.cn/try/angularjs/data/Customers_JSON.php

當從服務端載入 JSON 資料時,$scope.names 變成一個陣列。


Note#以上程式碼也可以用來讀取資料庫資料。
#