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 相关文章推荐
尽可能写&quot;友好&quot;的&quot;Javascript&quot;代码
Jan 09 Javascript
JavaScript学习笔记记录我的旅程
May 23 Javascript
使用JS CSS去除IE链接虚线框的三种方法
Nov 14 Javascript
jQuery选择器源码解读(一):Sizzle方法
Mar 31 Javascript
jQuery选择器源码解读(七):elementMatcher函数
Mar 31 Javascript
浅谈JavaScript字符串与数组
Jun 03 Javascript
JS运动相关知识点小结(附弹性运动示例)
Jan 08 Javascript
javascript鼠标滑过显示二级菜单特效
Nov 18 Javascript
bootstrap table分页模板和获取表中的ID方法
Jan 10 Javascript
JavaScript通过filereader接口读取文件
May 10 Javascript
不使用 JS 匿名函数理由
Nov 17 Javascript
JavaScript设计模式之装饰者模式定义与应用示例
Jul 25 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
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
Thinkphp中Create方法深入探究
2014/06/16 PHP
php+html5实现无刷新图片上传教程
2016/01/22 PHP
必须收藏的23个php实用代码片段
2016/02/02 PHP
php好代码风格的阶段性总结
2016/06/25 PHP
php连接微软MSSQL(sql server)完全攻略
2016/11/27 PHP
laravel框架数据库配置及操作数据库示例
2019/10/10 PHP
JQuery index()方法使用代码
2010/06/02 Javascript
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
js中iframe调用父页面的方法
2014/10/30 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
javascript控制图片播放的实现代码
2020/07/29 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
2017/02/10 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
[02:05]2014DOTA2西雅图邀请赛 专访啸天mik夫妻档
2014/07/08 DOTA
[01:07:46]完美世界DOTA2联赛循环赛 Magma vs IO BO2第二场 11.01
2020/11/02 DOTA
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
python 读取鼠标点击坐标的实例
2018/12/29 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
PyTorch中Tensor的维度变换实现
2019/08/18 Python
Django admin禁用编辑链接和添加删除操作详解
2019/11/15 Python
使用 Python 写一个简易的抽奖程序
2019/12/08 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
CSS3中的常用选择器使用示例整理
2016/06/13 HTML / CSS
材料加工硕士生求职信
2013/10/10 职场文书
初中班主任评语
2014/04/24 职场文书
注册资产评估专业求职信
2014/07/16 职场文书
邓小平理论心得体会
2014/09/09 职场文书
个人自我剖析材料
2014/09/30 职场文书
防汛工作情况汇报
2014/10/28 职场文书
关于Vue中的options选项
2022/03/22 Vue.js