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 相关文章推荐
Javascript学习笔记8 用JSON做原型
Jan 11 Javascript
js修改原型的属性使用介绍
Jan 26 Javascript
jquery获取选中的文本和值的方法
Jul 08 Javascript
Jquery动态添加输入框的方法
May 29 Javascript
深入理解逻辑表达式的用法 与或非的用法
Jun 06 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
Dec 07 Javascript
Bootstrap的基本应用要点浅析
Dec 19 Javascript
js基于myFocus实现轮播图效果
Feb 14 Javascript
JS设计模式之单例模式(一)
Sep 29 Javascript
vue综合组件间的通信详解
Nov 06 Javascript
Vue-cli-webpack搭建斗鱼直播步骤详解
Nov 17 Javascript
json_decode 索引为数字时自动排序问题解决方法
Mar 28 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
SONY SRF-22W(33W)的电路分析和维修案例
2021/03/02 无线电
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
微信公众号开发之通过接口删除菜单
2017/02/20 PHP
php写app接口并返回json数据的实例(分享)
2017/05/20 PHP
学习YUI.Ext 第三天
2007/03/10 Javascript
关于document.cookie的使用javascript
2008/04/11 Javascript
Js如何判断客户端是PC还是手持设备简单分析
2012/11/22 Javascript
再探JavaScript作用域
2014/09/24 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
2015/11/23 Javascript
基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
2015/11/24 Javascript
利用Node.JS实现邮件发送功能
2016/10/21 Javascript
iscroll实现下拉刷新功能
2017/07/18 Javascript
Angular项目中$scope.$apply()方法的使用详解
2017/07/26 Javascript
慕课网题目之js实现抽奖系统功能
2017/09/19 Javascript
JavaScript 判断对象中是否有某属性的常用方法
2018/06/14 Javascript
Vue从TodoList中学父子组件通信
2019/02/05 Javascript
在NodeJs中使用node-schedule增加定时器任务的方法
2020/06/08 NodeJs
Nuxt配置Element-UI按需引入的操作方法
2020/07/06 Javascript
[52:07]完美世界DOTA2联赛PWL S3 LBZS vs access 第二场 12.10
2020/12/13 DOTA
Python数据类型详解(二)列表
2016/05/08 Python
python使用turtle库绘制树
2018/06/25 Python
Python Series从0开始索引的方法
2018/11/06 Python
Python数据可视化库seaborn的使用总结
2019/01/15 Python
Python3内置模块random随机方法小结
2019/07/13 Python
python求绝对值的三种方法小结
2019/12/04 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
2020/06/12 Python
Python描述数据结构学习之哈夫曼树篇
2020/09/07 Python
德国最大的网上鞋店之一:Schuhe24.de
2017/06/10 全球购物
应用电子专业学生的自我评价
2013/10/16 职场文书
中层干部岗位职责
2013/12/18 职场文书
家具厂厂长岗位职责
2014/01/01 职场文书
家长给孩子的评语
2014/01/30 职场文书
会计学生自我鉴定
2014/02/06 职场文书
《狼》教学反思
2014/03/02 职场文书
解除劳动合同协议书
2014/09/17 职场文书
2015年干部教育培训工作总结
2015/05/15 职场文书