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弹出层插件简化版代码下载
Oct 16 Javascript
extJS中常用的4种Ajax异步提交方式
Mar 07 Javascript
jquery插件开发之实现google+圈子选择功能
Mar 10 Javascript
详细分析JavaScript变量类型
Jul 08 Javascript
javascript如何实现暂停功能
Nov 06 Javascript
探讨AngularJs中ui.route的简单应用
Nov 16 Javascript
Sequelize中用group by进行分组聚合查询
Dec 12 Javascript
Vue分页组件实例代码
Apr 17 Javascript
简单实现js鼠标跟随效果
Aug 02 Javascript
Vue内容分发slot(全面解析)
Aug 19 Javascript
用Axios Element实现全局的请求loading的方法
Mar 15 Javascript
js瀑布流布局的实现
Jun 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
php构造函数实例讲解
2013/11/13 PHP
php使用NumberFormatter格式化货币的方法
2015/03/21 PHP
yii添删改查实例
2015/11/16 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
thinkPHP5实现的查询数据库并返回json数据实例
2017/10/23 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
对YUI扩展的Gird组件 Part-1
2007/03/10 Javascript
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
javascript开发随笔一 preventDefault的必要
2011/11/25 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
基于javascript实现泡泡大冒险网页版小游戏
2016/03/23 Javascript
详细探究ES6之Proxy代理
2016/07/22 Javascript
AngularJS创建自定义指令的方法详解
2016/11/03 Javascript
Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案
2017/02/23 Javascript
jQuery遮罩层实例讲解
2017/05/11 jQuery
jQuery EasyUI Layout实现tabs标签的实例
2017/09/26 jQuery
jquery点击回车键实现登录效果并默认焦点的方法
2018/03/09 jQuery
layui实现下拉框三级联动
2019/07/26 Javascript
基于layui的table插件进行复选框联动功能的实现方法
2019/09/19 Javascript
JS脚本实现定时到网站上签到/签退功能
2020/04/22 Javascript
angular中的post请求处理示例详解
2020/06/30 Javascript
详解javascript void(0)
2020/07/13 Javascript
vue实现几秒后跳转新页面代码
2020/09/09 Javascript
python3中int(整型)的使用教程
2017/03/23 Python
详解python中的文件与目录操作
2017/07/11 Python
在pycharm中设置显示行数的方法
2019/01/16 Python
Pytorch中index_select() 函数的实现理解
2019/11/19 Python
基于python实现文件加密功能
2020/01/06 Python
python 多进程和协程配合使用写入数据
2020/10/30 Python
Python爬虫之Selenium多窗口切换的实现
2020/12/04 Python
Python Selenium异常处理的实例分析
2021/02/28 Python
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
优秀英文求职信范文
2015/03/19 职场文书
《曹冲称象》教学反思
2016/02/20 职场文书
干货:如何写好工作总结报告!
2019/05/10 职场文书
Nginx隐藏式跳转(浏览器URL跳转后保持不变)
2022/04/07 Servers