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 相关文章推荐
jQuery的三种$()
Dec 30 Javascript
js Html结构转字符串形式显示代码
Nov 15 Javascript
JQuery魔力之$(&quot;tagName&quot;)与selector
Mar 05 Javascript
javascript中2个感叹号的用法实例详解
Sep 04 Javascript
javascript数据结构与算法之检索算法
Apr 04 Javascript
javascript作用域问题实例分析
Jul 13 Javascript
jquery移动端TAB触屏切换实现效果
Dec 22 Javascript
AngularJS服务service用法总结
Dec 13 Javascript
微信小程序的动画效果详解
Jan 18 Javascript
浅谈JavaScript面向对象--继承
Mar 20 Javascript
js设计模式之代理模式及订阅发布模式实例详解
Aug 15 Javascript
微信小程序静默登录的实现代码
Jan 08 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
15种PHP Encoder的比较
2007/04/17 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
网站上面有这种切换效果
2006/06/26 Javascript
Javascript String对象扩展HTML编码和解码的方法
2009/06/02 Javascript
javascript IFrame 强制刷新代码
2009/07/23 Javascript
用函数模板,写一个简单高效的 JSON 查询器的方法介绍
2013/04/17 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
vue中element组件样式修改无效的解决方法
2018/02/03 Javascript
Vue页面骨架屏的实现方法
2018/05/22 Javascript
layui table 参数设置方法
2018/08/14 Javascript
React 实现拖拽功能的示例代码
2019/01/06 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
javascript数据类型中的一些小知识点(推荐)
2019/04/18 Javascript
LayUI数据接口返回实体封装的例子
2019/09/12 Javascript
VUE+Element实现增删改查的示例源码
2020/11/23 Vue.js
python中assert用法实例分析
2015/04/30 Python
Python装饰器实现几类验证功能做法实例
2017/05/18 Python
Python unittest模块用法实例分析
2018/05/25 Python
详解Python 正则表达式模块
2018/11/05 Python
Python 绘制酷炫的三维图步骤详解
2019/07/12 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
Python之Numpy的超实用基础详细教程
2019/10/23 Python
python离线安装外部依赖包的实现
2020/02/13 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
python打开文件的方式有哪些
2020/06/29 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
python+selenium实现12306模拟登录的步骤
2021/01/21 Python
捐助贫困学生倡议书
2014/05/16 职场文书
党的群众路线教育实践活动总结报告
2014/07/03 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
个人收入证明模板
2014/09/18 职场文书
2015年幼儿园元旦亲子活动方案
2014/12/09 职场文书
《迟到》教学反思
2016/02/24 职场文书
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
2021/06/23 Python