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加密解密7种方法总结分析
Oct 07 Javascript
jquery显示和隐藏div特效实例
Feb 27 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
Dec 03 Javascript
js实现人民币大写金额形式转换
Apr 27 Javascript
简单的分页代码js实现
May 17 Javascript
基于JavaScript实现自动更新倒计时效果
Dec 19 Javascript
jquery select插件异步实时搜索实例代码
Oct 20 jQuery
在NPM发布自己造的轮子的方法步骤
Mar 09 Javascript
解决Vue打包上线之后部分CSS不生效的问题
Nov 12 Javascript
vue配置多代理服务接口地址操作
Sep 08 Javascript
7个你应该知道的JS原生错误类型
Apr 29 Javascript
JavaScript实现外溢动态爱心的效果的示例代码
Mar 21 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
新安装的MySQL数据库需要注意的安全知识
2008/07/30 PHP
php实现可以设置中奖概率的抽奖程序代码分享
2014/01/19 PHP
php读取纯真ip数据库使用示例
2014/01/26 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
2014/01/31 PHP
用PHP写的一个冒泡排序法的函数简单实例
2016/05/26 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
2017/10/07 PHP
drag-and-drop实现图片浏览器预览
2015/08/06 Javascript
JavaScript数组的一些奇葩行为
2016/01/25 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
2016/05/05 Javascript
JavaScript基础教程——入门必看篇
2016/05/20 Javascript
js转html实体的方法
2016/09/27 Javascript
JS实现动画兼容性的transition和transform实例分析
2016/12/13 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
2017/04/03 jQuery
简单实现JavaScript弹幕效果
2020/08/27 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
2017/10/06 Javascript
javascript使用正则实现去掉字符串前面的所有0
2018/07/23 Javascript
JavaScript惰性求值的一种实现方法示例
2019/01/11 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
JS实现返回上一页并刷新页面的方法分析
2019/07/16 Javascript
关于layui表单中按钮自动提交的解决方法
2019/09/09 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
2020/04/13 Javascript
JS实现点击掉落特效
2021/01/29 Javascript
[02:44]DOTA2英雄基础教程 钢背兽
2013/12/19 DOTA
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
Python中动态检测编码chardet的使用教程
2017/07/06 Python
python实现Decorator模式实例代码
2018/02/09 Python
使用Python编写Prometheus监控的方法
2018/10/15 Python
一文带你了解Python中的字符串是什么
2018/11/20 Python
几个SQL的面试题
2014/03/08 面试题
抗洪救灾先进集体事迹材料
2014/05/26 职场文书
地球一小时宣传标语
2014/06/24 职场文书
学习计划书怎么写
2014/09/15 职场文书
小学一年级数学教学计划
2015/01/20 职场文书
开票员岗位职责
2015/02/12 职场文书
车间统计员岗位职责
2015/04/14 职场文书
《珍珠鸟》教学反思
2016/02/16 职场文书