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核心支持代码分享
May 23 Javascript
详细分析使用AngularJS编程中提交表单的方式
Jun 19 Javascript
js判断文本框输入的内容是否为数字
Dec 23 Javascript
微信JSAPI Ticket接口签名详解
Jun 28 Javascript
vue移动端UI框架实现QQ侧边菜单组件
Mar 09 Javascript
Seajs源码详解分析
Apr 02 Javascript
微信小程序实现的图片保存功能示例
Apr 24 Javascript
vue轮播组件实现$children和$parent 附带好用的gif录制工具
Sep 26 Javascript
Angular 多模块项目构建过程
Feb 13 Javascript
JavaScript实现拖动对话框效果的实现代码
Oct 12 Javascript
vue使用transition组件动画效果的实例代码
Jan 28 Vue.js
用vite搭建vue3应用的实现方法
Feb 22 Vue.js
用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中使用Oracle数据库(5)
2006/10/09 PHP
Prototype使用指南之range.js
2007/01/10 Javascript
ExtJS4给Combobox设置列表中的默认值示例
2014/05/02 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
浅析Javascript中“==”与“===”的区别
2014/12/23 Javascript
javascript定时器完整实例
2015/02/10 Javascript
JavaScript获取客户端IP的方法(新方法)
2016/03/11 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
angular.js 路由及页面传参示例
2017/02/24 Javascript
vue.js 实现评价五角星组件的实例代码
2018/08/13 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
2020/04/29 Javascript
python处理PHP数组文本文件实例
2014/09/18 Python
python常规方法实现数组的全排列
2015/03/17 Python
python threading模块操作多线程介绍
2015/04/08 Python
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
python判断文件是否存在,不存在就创建一个的实例
2019/02/18 Python
Python使用sqlalchemy模块连接数据库操作示例
2019/03/13 Python
Django 设置多环境配置文件载入问题
2020/02/25 Python
Python多进程编程multiprocessing代码实例
2020/03/12 Python
如何基于Python按行合并两个txt
2020/11/03 Python
Pop In A Box英国:Funko POP搪胶公仔
2019/05/27 全球购物
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
2012/02/15 面试题
军训的自我鉴定
2013/12/10 职场文书
护理个人求职信范文
2014/01/08 职场文书
特教教师先进事迹
2014/05/21 职场文书
领导班子自我剖析材料
2014/08/16 职场文书
副校长竞聘演讲稿
2014/09/01 职场文书
建设工程授权委托书
2014/09/22 职场文书
2015年六一儿童节活动方案
2015/05/05 职场文书
省级三好学生主要事迹材料
2015/11/03 职场文书
小学英语新课改心得体会
2016/01/22 职场文书
读完《骆驼祥子》的观后感!
2019/07/05 职场文书
【2·13】一图读懂中国无线电发展
2022/02/18 无线电
Python读取和写入Excel数据
2022/04/20 Python
小喇叭开始广播了! 四十多年前珍贵老照片
2022/05/09 无线电