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 相关文章推荐
浅析js中的浮点型运算问题
Jan 06 Javascript
常用的几段javascript代码分享
Mar 25 Javascript
JavaScript原生对象之Number对象的属性和方法详解
Mar 13 Javascript
JavaScript正则表达式之multiline属性的应用
Jun 16 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
May 31 Javascript
jQuery自定义插件详解及实例代码
Dec 29 Javascript
BootstrapTable refresh 方法使用实例简单介绍
Feb 20 Javascript
vue使用vue-i18n实现国际化的实现代码
Apr 08 Javascript
Vue 自定义指令功能完整实例
Sep 17 Javascript
mpvue实现左侧导航与右侧内容的联动
Oct 21 Javascript
原生js实现瀑布流效果
Mar 09 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
Jan 29 jQuery
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
乐信RP2100的电路分析和打磨
2021/03/02 无线电
关于PHP的相似度计算函数:levenshtein的使用介绍
2013/04/15 PHP
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
PHP中key和current,next的联合运用实例分析
2016/03/29 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
解决Laravel无法使用COOKIE和SESSION的问题
2019/10/16 PHP
Laravel 在views中加载公共页面的实现代码
2019/10/22 PHP
推荐30个新鲜出炉的精美 jQuery 效果
2012/03/26 Javascript
jquery 缓存问题的几个解决方法
2013/11/11 Javascript
JavaScript中用字面量创建对象介绍
2014/12/31 Javascript
JavaScript插件化开发教程 (三)
2015/01/27 Javascript
javascript控制图片播放的实现代码
2020/07/29 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
bootstrap laydate日期组件使用详解
2017/01/04 Javascript
vue.js 1.x与2.0中js实时监听input值的变化
2017/03/15 Javascript
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
详解vue项目首页加载速度优化
2017/10/18 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
2018/10/23 Javascript
JavaScript 判断iPhone X Series机型的方法
2019/01/28 Javascript
Python程序员开发中常犯的10个错误
2014/07/07 Python
用Python写一个无界面的2048小游戏
2016/05/24 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
2018/01/22 Python
python的socket编程入门
2018/01/29 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
2018/02/11 Python
Python常见工厂函数用法示例
2018/03/21 Python
flask中的wtforms使用方法
2018/07/21 Python
python如何求解两数的最大公约数
2018/09/27 Python
Python利用itchat库向好友或者公众号发消息的实例
2019/02/21 Python
给ubuntu18安装python3.7的详细教程
2020/06/08 Python
python Cartopy的基础使用详解
2020/11/01 Python
详解HTML5新增标签
2017/11/27 HTML / CSS
amaze ui 的使用详细教程
2020/08/19 HTML / CSS
法学专业毕业实习自我鉴定2014
2014/09/27 职场文书
pycharm无法导入lxml的解决办法
2021/03/31 Python
聊一聊Redis与MySQL双写一致性如何保证
2021/06/26 Redis
搭建zabbix监控以及邮件报警的超级详细教学
2022/07/15 Servers