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 相关文章推荐
js读取本地excel文档数据的代码
Nov 11 Javascript
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
Jan 08 Javascript
面向对象的Javascript之三(封装和信息隐藏)
Jan 27 Javascript
图片无缝滚动代码(向左/向下/向上)
Apr 10 Javascript
解析Javascript小括号“()”的多义性
Dec 03 Javascript
javascript检测两个数组是否相似
May 19 Javascript
javascript文件加载管理简单实现方法
Jul 25 Javascript
js数字计算 误差问题的快速解决方法
Feb 28 Javascript
原生js实现瀑布流布局
Mar 08 Javascript
JS变量及其作用域
Mar 29 Javascript
js防抖和节流的深入讲解
Dec 06 Javascript
在vue中阻止浏览器后退的实例
Nov 06 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
了解咖啡雨林联盟认证 什么是雨林认证 雨林认证是什么意思
2021/03/05 新手入门
加速XP搜索功能堪比vista
2007/03/22 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
PHP利用REFERER根居访问来地址进行页面跳转
2013/09/28 PHP
php获取从html表单传递数组的方法
2015/03/20 PHP
php实现的debug log日志操作类实例
2016/07/12 PHP
laravel框架添加数据,显示数据,返回成功值的方法
2019/10/11 PHP
限制文本字节数js代码
2007/03/06 Javascript
基于jQuery判断两个元素是否有重叠部分的代码
2012/07/25 Javascript
判断一个变量是数组Array类型的方法
2013/09/16 Javascript
浅谈JavaScript异常处理语句
2015/06/26 Javascript
如何用javascript计算文本框还能输入多少个字符
2015/07/29 Javascript
浅析Javascript中bind()方法的使用与实现
2016/05/30 Javascript
详解AngularJS中ng-src指令的使用
2016/09/07 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
2016/12/08 Javascript
easyui简介_动力节点Java学院整理
2017/07/14 Javascript
ES6 Class中实现私有属性的一些方法总结
2019/07/08 Javascript
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
使用Vue Composition API写出清晰、可扩展的表单实现
2020/06/10 Javascript
[02:40]2018年度DOTA2最佳新人-完美盛典
2018/12/16 DOTA
基于python log取对数详解
2018/06/08 Python
python实现播放音频和录音功能示例代码
2018/12/30 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
2020/02/15 Python
python利用faker库批量生成测试数据
2020/10/15 Python
css3实现针线缝合效果(图解步骤)
2013/02/04 HTML / CSS
日本民宿预约平台:STAY JAPAN
2017/07/01 全球购物
全球才华横溢工匠的家居装饰、珠宝和礼物:NOVICA
2021/01/22 全球购物
进修护士自我鉴定
2013/10/14 职场文书
董事长秘书职责
2014/01/31 职场文书
村长贪污检举信
2014/04/04 职场文书
安全生产责任书范本
2014/04/15 职场文书
《郑和远航》教学反思
2014/04/16 职场文书
开展读书活动总结
2014/06/30 职场文书
销售代理协议书
2014/09/30 职场文书
运动会宣传稿50字
2015/07/23 职场文书
分享python函数常见关键字
2022/04/26 Python