AngularJS入門教程之 XMLHttpRequest實(shí)例講解
AngularJS XMLHttpRequest
$http 是 AngularJS 中的一個(gè)核心服務(wù),用于讀取遠(yuǎn)程服務(wù)器的數(shù)據(jù)。
讀取 JSON 文件
以下是存儲(chǔ)在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 是一個(gè)用于讀取web服務(wù)器上數(shù)據(jù)的服務(wù)。
$http.get(url) 是用于讀取服務(wù)器數(shù)據(jù)的函數(shù)。
AngularJS 實(shí)例
<!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>
運(yùn)行結(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 請(qǐng)求是本站的服務(wù)器,你不能直接拷貝到你本地運(yùn)行,會(huì)存在跨域問(wèn)題,解決辦法就是將
Customers_JSON.php 的數(shù)據(jù)拷貝到你自己的服務(wù)器上,附:PHP Ajax 跨域問(wèn)題最佳解決方案。
AngularJS 應(yīng)用通過(guò) ng-app 定義。應(yīng)用在 <div> 中執(zhí)行。
ng-controller 指令設(shè)置了 controller 對(duì)象 名。
函數(shù) customersController 是一個(gè)標(biāo)準(zhǔn)的 JavaScript 對(duì)象構(gòu)造器。
控制器對(duì)象有一個(gè)屬性: $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ù)時(shí),$scope.names 變?yōu)橐粋€(gè)數(shù)組。
注意:以上代碼也可以用于讀取數(shù)據(jù)庫(kù)數(shù)據(jù)。
以上就是對(duì)AngularJS XMLHttpRequest資料的整理,后續(xù)繼續(xù)補(bǔ)充,希望能幫助有需要的朋友。
- javascript XMLHttpRequest對(duì)象全面剖析
- js判斷IE6/IE7/FF的代碼[XMLHttpRequest]
- Javascript+XMLHttpRequest+asp.net無(wú)刷新讀取數(shù)據(jù)庫(kù)數(shù)據(jù)
- javascript創(chuàng)建createXmlHttpRequest對(duì)象示例代碼
- 深入講解xhr(XMLHttpRequest)/jsonp請(qǐng)求之a(chǎn)bort
- javascript對(duì)XMLHttpRequest異步請(qǐng)求的面向?qū)ο蠓庋b
- JSP XMLHttpRequest動(dòng)態(tài)無(wú)刷新及其中文亂碼處理
- JavaScript下通過(guò)的XMLHttpRequest發(fā)送請(qǐng)求的代碼
- javascript一個(gè)無(wú)懈可擊的實(shí)例化XMLHttpRequest的方法
- [js]輕便的XMLHttpRequest應(yīng)用函數(shù):downloadUrl()
- JS XMLHttpRequest原理與使用方法深入詳解
相關(guān)文章
AngularJS入門心得之directive和controller通信過(guò)程
Angular JS (Angular.JS) 是一組用來(lái)開發(fā)Web頁(yè)面的框架、模板以及數(shù)據(jù)綁定和豐富UI組件,接下來(lái)通過(guò)本文給大家介紹AngularJS入門心得之directive和controller通信過(guò)程,對(duì)angularjs相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2016-01-01
快速學(xué)習(xí)AngularJs HTTP響應(yīng)攔截器
任何時(shí)候,如果我們想要為請(qǐng)求添加全局功能,例如身份認(rèn)證、錯(cuò)誤處理等,在請(qǐng)求發(fā)送給服務(wù)器之前或服務(wù)器返回時(shí)對(duì)其進(jìn)行攔截,是比較好的實(shí)現(xiàn)手段2015-12-12
AngularJS利用Controller完成URL跳轉(zhuǎn)
本文的主要內(nèi)容是介紹在AngularJS中怎樣利用Controller實(shí)現(xiàn)URL跳轉(zhuǎn),本文給出了實(shí)例代碼,簡(jiǎn)單明了,有需要的可以參考學(xué)習(xí)。2016-08-08
angularjs實(shí)現(xiàn)過(guò)濾并替換關(guān)鍵字小功能
這篇文章主要為大家詳細(xì)介紹了angularjs實(shí)現(xiàn)過(guò)濾并替換關(guān)鍵字小功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09
AngularJS實(shí)現(xiàn)表格的增刪改查(僅限前端)
這篇文章主要介紹了AngularJS實(shí)現(xiàn)表格的增刪改查,僅限前端,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
Angular實(shí)現(xiàn)的簡(jiǎn)單查詢天氣預(yù)報(bào)功能示例
這篇文章主要介紹了Angular實(shí)現(xiàn)的簡(jiǎn)單查詢天氣預(yù)報(bào)功能,涉及AngularJS針對(duì)第三方API接口交互的相關(guān)操作技巧,需要的朋友可以參考下2017-12-12
angularJS的radio實(shí)現(xiàn)單項(xiàng)二選一的使用方法
下面小編就為大家分享一篇angularJS的radio實(shí)現(xiàn)單項(xiàng)二選一的使用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02

