AngularJS入门教程之 XMLHttpRequest实例讲解


Posted in Javascript onJuly 27, 2016

AngularJS XMLHttpRequest

$http 是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。

读取 JSON 文件

以下是存储在web服务器上的 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服务器上数据的服务。

$http.get(url) 是用于读取服务器数据的函数。

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>

运行结果:

  • 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

应用解析:

注意:以上代码的 get 请求是本站的服务器,你不能直接拷贝到你本地运行,会存在跨域问题,解决办法就是将

Customers_JSON.php 的数据拷贝到你自己的服务器上,附:PHP Ajax 跨域问题最佳解决方案。

AngularJS 应用通过 ng-app 定义。应用在 <div> 中执行。

ng-controller 指令设置了 controller 对象 名。

函数 customersController 是一个标准的 JavaScript 对象构造器。

控制器对象有一个属性: $scope.names。

$http.get() 从web服务器上读取静态 JSON 数据。

服务器数据文件为:  http://www.runoob.com/try/angularjs/data/Customers_JSON.php。

当从服务端载入 JSON 数据时,$scope.names 变为一个数组。

注意:以上代码也可以用于读取数据库数据。

以上就是对AngularJS XMLHttpRequest资料的整理,后续继续补充,希望能帮助有需要的朋友。

Javascript 相关文章推荐
如何快速的呈现我们的网页的技巧整理
Jul 01 Javascript
基于jQuery的可以控制左右滚动及自动滚动效果的代码
Jul 25 Javascript
js中查找最近的共有祖先元素的实现代码
Dec 30 Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
Aug 14 Javascript
jquery基础教程之deferred对象使用方法
Jan 22 Javascript
JavaScript中的this使用详解
Jul 27 Javascript
jQuery为动态生成的select元素添加事件的方法
Aug 29 Javascript
js简单正则验证汉字英文及下划线的方法
Nov 28 Javascript
JavaScript迭代器的含义及用法
Jun 21 Javascript
js实现跳一跳小游戏
Jul 31 Javascript
小程序中手机号识别的示例
Dec 14 Javascript
AJAX实现省市县三级联动效果
Oct 16 Javascript
AngularJS入门教程之服务(Service)
Jul 27 #Javascript
AngularJS 过滤器的简单实例
Jul 27 #Javascript
AngularJS延迟加载html template
Jul 27 #Javascript
AngularJS入门教程之控制器详解
Jul 27 #Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
Jul 27 #Javascript
AngularJS入门教程之Scope(作用域)
Jul 27 #Javascript
AngularJS入门之动画
Jul 27 #Javascript
You might like
PHP中空字符串介绍0、null、empty和false之间的关系
2012/09/25 PHP
php如何实现只替换一次或N次
2015/10/29 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
2020/05/02 PHP
javascript 写类方式之一
2009/07/05 Javascript
jQuery toggle()设置CSS样式
2009/11/05 Javascript
jQuery之自动完成组件的深入解析
2013/06/19 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
利用JS来控制键盘的上下左右键(示例代码)
2013/12/14 Javascript
javascript动态添加、修改、删除对象的属性与方法详解
2014/01/27 Javascript
jquery隔行换色效果实现方法
2015/01/15 Javascript
使用iojs的jsdom库实现同步系统时间
2015/04/20 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
jQuery获得字体颜色16位码的方法
2016/02/20 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
使用BootStrap进行轮播图的制作
2017/01/06 Javascript
vue.js实现请求数据的方法示例
2017/02/07 Javascript
关于vue.js过渡css类名的理解(推荐)
2017/04/10 Javascript
微信小程序 本地数据存储实例详解
2017/04/13 Javascript
vue.js项目打包上线的图文教程
2017/11/16 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
Angular短信模板校验代码
2020/09/23 Javascript
js定时器出现第一次延迟的原因及解决方法
2021/01/04 Javascript
cmd运行python文件时对结果进行保存的方法
2018/05/16 Python
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
python实现维吉尼亚算法
2019/03/20 Python
Python面向对象总结及类与正则表达式详解
2019/04/18 Python
python opencv 二值化 计算白色像素点的实例
2019/07/03 Python
Python字典推导式将cookie字符串转化为字典解析
2019/08/10 Python
python实现简单银行管理系统
2019/10/25 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
解决python图像处理图像赋值后变为白色的问题
2020/06/04 Python
html5 浏览器支持 如何让所有的浏览器都支持HTML5标签样式
2012/12/07 HTML / CSS
优秀共产党员演讲稿
2014/09/04 职场文书
记者节感言
2015/08/03 职场文书
postgresql 删除重复数据案例详解
2021/08/02 PostgreSQL
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
2022/04/12 PostgreSQL