AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】


Posted in Javascript onNovember 02, 2016

本文实例讲述了AngularJS与服务器Ajax交互操作。分享给大家供大家参考,具体如下:

AngularJS从Web服务器请求资源都是通过Ajax来完成,所有的操作封装在$http服务中,$http服务是只能接收一个参数的函数,这个参数是一个对象,用来完成HTTP请求的一些配置,函数返回一个对象,具有success和error两个方法。

用法如下:

$http({method:'post',url:'loginAction.do'
}).success(function(data,status,headers,config){
//正常响应回调
}).error(function(data,status,headers,config){
//错误响应回调
});

状态码在200-299之间,会认为响应是成功的,success方法会被调用,第一个参数data为服务器端返回的数据,status为响应状态码。后面两个参数不常用,这里不做介绍。有兴趣的朋友请参考AngularJs API文档。

除此之外$http服务提供了一些快捷方法,这些方法简化了复杂的配置,只需要提供URL即可。比如对于post请求我们可以写成下面这个样子:

$http.post("loginAction.do")
.success(function(data,status,headers,config){
//正常响应回调
}).error(function(data,status,headers,config){
//错误响应回调
});

下面来看一个案例:

<!DOCTYPE html>
<html ng-app="serverMod">
<head lang="en">
 <meta charset="UTF-8">
 <script type="text/javascript" src="angular-1.3.0.14/angular.js"></script>
 <title>tutorial09</title>
</head>
<body ng-controller="ServerController" ng-init="init()">
<p>name:{{name}}</p>
<p>age:{{age}}</p>
<button ng-click="getInfo()">请求</button>
</body>
<script>
 var serverMod = angular.module("serverMod",[]);
 serverMod.controller("ServerController",function($scope,$log,$http){
  $scope.init = function()
  {
   $log.info("init functionn");
  }
  $scope.getInfo = function()
  {
   $http.get("json/person.json").success(function(data,status){
    alert(status);
    $scope.name = data.name;
    $scope.age = data.age;
   });
  }
 });
</script>
</html>

点击”请求”按钮,我们通过$http服务以get方式向服务器请求数据,服务器响应数据格式通常为一段Json,这里我们用一个文本文件代替,person.json内容如下:

{"name":"Rongbo_J","age":"23"}

返回的数据会放在data参数中,我们可以获取服务器响应的内容?⑹?菰谑油贾姓故境隼础?/p>

AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】

完整demo实例代码点击此处本站下载

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
Javascript MD4
Dec 20 Javascript
javascript firefox兼容ie的dom方法脚本
May 18 Javascript
jquery 1.3.2 IE8中的一点点的小问题解决方法
Jul 10 Javascript
JavaScript 浏览器验证代码(来自discuz)
Jul 17 Javascript
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
Dec 08 Javascript
JavaScript中两种链式调用实现代码
Jan 12 Javascript
JS的get和set使用示例
Feb 20 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
Sep 25 Javascript
Javascript中this绑定的3种方法与比较
Oct 13 Javascript
详谈表单格式化插件jquery.serializeJSON
Jun 23 jQuery
Vuejs实现购物车功能
Nov 05 Javascript
React Navigation 使用中遇到的问题小结
May 08 Javascript
用AngularJS来实现监察表单按钮的禁用效果
Nov 02 #Javascript
AngularJS入门教程之Cookies读写操作示例
Nov 02 #Javascript
js导出excel文件的简洁方法(推荐)
Nov 02 #Javascript
AngularJS入门教程之多视图切换用法示例
Nov 02 #Javascript
js 转json格式的字符串为对象或数组(前后台)的方法
Nov 02 #Javascript
arcgis for js 修改infowindow样式的方法
Nov 02 #Javascript
快速解决js中window.location.href不工作的问题
Nov 02 #Javascript
You might like
php获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
VB中的RasEnumConnections函数返回632错误解决方法
2014/07/29 PHP
php 利用socket发送HTTP请求(GET,POST)
2015/08/24 PHP
php实现的简单数据库操作Model类
2016/11/16 PHP
php读取和保存base64编码的图片内容
2017/04/22 PHP
php中访问修饰符的知识点总结
2019/01/27 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
2020/04/27 PHP
PageSwitch插件实现100种不同图片切换效果
2015/07/28 Javascript
JavaScript实现的简单烟花特效代码
2015/10/20 Javascript
jQuery 获取屏幕高度、宽度的简单实现案例
2016/05/17 Javascript
JS小数运算出现多为小数问题的解决方法
2016/06/02 Javascript
全面了解JavaScript对象进阶
2016/07/19 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
原生js实现轮播图
2017/02/27 Javascript
微信小程序实现添加手机联系人功能示例
2017/11/30 Javascript
关于express与koa的使用对比详解
2018/01/25 Javascript
React组件refs的使用详解
2018/02/09 Javascript
使用puppeteer破解极验的滑动验证码
2018/02/24 Javascript
jQuery中复合选择器简单用法示例
2018/03/31 jQuery
mpvue实现微信小程序快递单号查询代码
2020/04/03 Javascript
[01:09:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第一场 6.2
2018/06/04 DOTA
python 合并文件的具体实例
2013/08/08 Python
详解Python2.x中对Unicode编码的使用
2015/04/03 Python
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
python循环输出三角形图案的例子
2019/11/22 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
python的链表基础知识点
2020/09/13 Python
利用python实现汉诺塔游戏
2021/03/01 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
Hoka One One法国官网:美国专业跑鞋品牌
2018/12/29 全球购物
金融专业个人求职信范文
2013/11/28 职场文书
大学生思想汇报范文
2013/12/31 职场文书
幼儿园教师获奖感言
2014/03/11 职场文书
车间核算员岗位职责
2014/07/01 职场文书
离职信范文
2015/06/23 职场文书