AngularJS入門教程之 XMLHttpRequest實例講解
AngularJS XMLHttpRequest
$http 是 AngularJS 中的一個核心服務(wù),用于讀取遠(yuǎn)程服務(wù)器的數(shù)據(jù)。
讀取 JSON 文件
以下是存儲在web服務(wù)器上的 JSON 文件:
http://www.runoob.com/try/angularjs/data/Customers_JSON.php
{
"records":
[
{
"Name" : "Alfreds Futterkiste",
"City" : "Berlin",
"Country" : "Germany"
},
{
"Name" : "Berglunds snabbköp",
"City" : "Luleå",
"Country" : "Sweden"
},
{
"Name" : "Centro comercial Moctezuma",
"City" : "México D.F.",
"Country" : "Mexico"
},
{
"Name" : "Ernst Handel",
"City" : "Graz",
"Country" : "Austria"
},
{
"Name" : "FISSA Fabrica Inter. Salchichas S.A.",
"City" : "Madrid",
"Country" : "Spain"
},
{
"Name" : "Galería del gastrónomo",
"City" : "Barcelona",
"Country" : "Spain"
},
{
"Name" : "Island Trading",
"City" : "Cowes",
"Country" : "UK"
},
{
"Name" : "Königlich Essen",
"City" : "Brandenburg",
"Country" : "Germany"
},
{
"Name" : "Laughing Bacchus Wine Cellars",
"City" : "Vancouver",
"Country" : "Canada"
},
{
"Name" : "Magazzini Alimentari Riuniti",
"City" : "Bergamo",
"Country" : "Italy"
},
{
"Name" : "North/South",
"City" : "London",
"Country" : "UK"
},
{
"Name" : "Paris spécialités",
"City" : "Paris",
"Country" : "France"
},
{
"Name" : "Rattlesnake Canyon Grocery",
"City" : "Albuquerque",
"Country" : "USA"
},
{
"Name" : "Simons bistro",
"City" : "København",
"Country" : "Denmark"
},
{
"Name" : "The Big Cheese",
"City" : "Portland",
"Country" : "USA"
},
{
"Name" : "Vaffeljernet",
"City" : "Århus",
"Country" : "Denmark"
},
{
"Name" : "Wolski Zajazd",
"City" : "Warszawa",
"Country" : "Poland"
}
]
}
AngularJS $http
AngularJS $http 是一個用于讀取web服務(wù)器上數(shù)據(jù)的服務(wù)。
$http.get(url) 是用于讀取服務(wù)器數(shù)據(jù)的函數(shù)。
AngularJS 實例
<!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="customersCtrl">
<ul>
<li ng-repeat="x in names">
{{ x.Name + ', ' + x.Country }}
</li>
</ul>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
$http.get("http://www.runoob.com/try/angularjs/data/Customers_JSON.php")
.success(function (response) {$scope.names = response.records;});
});
</script>
</body>
</html>
運行結(jié)果:
- Alfreds Futterkiste, Germany
- Ana Trujillo Emparedados y helados, Mexico
- Antonio Moreno Taquería, Mexico
- Around the Horn, UK
- B's Beverages, UK
- Berglunds snabbköp, Sweden
- Blauer See Delikatessen, Germany
- Blondel père et fils, France
- Bólido Comidas preparadas, Spain
- Bon app', France
- Bottom-Dollar Marketse, Canada
- Cactus Comidas para llevar, Argentina
- Centro comercial Moctezuma, Mexico
- Chop-suey Chinese, Switzerland
- Comércio Mineiro, Brazil
應(yīng)用解析:
注意:以上代碼的 get 請求是本站的服務(wù)器,你不能直接拷貝到你本地運行,會存在跨域問題,解決辦法就是將
Customers_JSON.php 的數(shù)據(jù)拷貝到你自己的服務(wù)器上,附:PHP Ajax 跨域問題最佳解決方案。
AngularJS 應(yīng)用通過 ng-app 定義。應(yīng)用在 <div> 中執(zhí)行。
ng-controller 指令設(shè)置了 controller 對象 名。
函數(shù) customersController 是一個標(biāo)準(zhǔn)的 JavaScript 對象構(gòu)造器。
控制器對象有一個屬性: $scope.names。
$http.get() 從web服務(wù)器上讀取靜態(tài) JSON 數(shù)據(jù)。
服務(wù)器數(shù)據(jù)文件為: http://www.runoob.com/try/angularjs/data/Customers_JSON.php。
當(dāng)從服務(wù)端載入 JSON 數(shù)據(jù)時,$scope.names 變?yōu)橐粋€數(shù)組。
注意:以上代碼也可以用于讀取數(shù)據(jù)庫數(shù)據(jù)。
以上就是對AngularJS XMLHttpRequest資料的整理,后續(xù)繼續(xù)補充,希望能幫助有需要的朋友。
- javascript XMLHttpRequest對象全面剖析
- js判斷IE6/IE7/FF的代碼[XMLHttpRequest]
- Javascript+XMLHttpRequest+asp.net無刷新讀取數(shù)據(jù)庫數(shù)據(jù)
- javascript創(chuàng)建createXmlHttpRequest對象示例代碼
- 深入講解xhr(XMLHttpRequest)/jsonp請求之a(chǎn)bort
- javascript對XMLHttpRequest異步請求的面向?qū)ο蠓庋b
- JSP XMLHttpRequest動態(tài)無刷新及其中文亂碼處理
- JavaScript下通過的XMLHttpRequest發(fā)送請求的代碼
- javascript一個無懈可擊的實例化XMLHttpRequest的方法
- [js]輕便的XMLHttpRequest應(yīng)用函數(shù):downloadUrl()
- JS XMLHttpRequest原理與使用方法深入詳解
相關(guān)文章
AngularJS入門心得之directive和controller通信過程
Angular JS (Angular.JS) 是一組用來開發(fā)Web頁面的框架、模板以及數(shù)據(jù)綁定和豐富UI組件,接下來通過本文給大家介紹AngularJS入門心得之directive和controller通信過程,對angularjs相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧2016-01-01
快速學(xué)習(xí)AngularJs HTTP響應(yīng)攔截器
任何時候,如果我們想要為請求添加全局功能,例如身份認(rèn)證、錯誤處理等,在請求發(fā)送給服務(wù)器之前或服務(wù)器返回時對其進(jìn)行攔截,是比較好的實現(xiàn)手段2015-12-12
AngularJS利用Controller完成URL跳轉(zhuǎn)
本文的主要內(nèi)容是介紹在AngularJS中怎樣利用Controller實現(xiàn)URL跳轉(zhuǎn),本文給出了實例代碼,簡單明了,有需要的可以參考學(xué)習(xí)。2016-08-08
angularjs實現(xiàn)過濾并替換關(guān)鍵字小功能
這篇文章主要為大家詳細(xì)介紹了angularjs實現(xiàn)過濾并替換關(guān)鍵字小功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-09-09
AngularJS實現(xiàn)表格的增刪改查(僅限前端)
這篇文章主要介紹了AngularJS實現(xiàn)表格的增刪改查,僅限前端,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07
Angular實現(xiàn)的簡單查詢天氣預(yù)報功能示例
這篇文章主要介紹了Angular實現(xiàn)的簡單查詢天氣預(yù)報功能,涉及AngularJS針對第三方API接口交互的相關(guān)操作技巧,需要的朋友可以參考下2017-12-12
angularJS的radio實現(xiàn)單項二選一的使用方法
下面小編就為大家分享一篇angularJS的radio實現(xiàn)單項二選一的使用方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02

