angularJS之$http:与服务器交互示例


Posted in Javascript onMarch 17, 2017

在angularJS中与远程HTTP服务器交互时会用一个非常关键的服务-$http。

  1. $http是angular中的一个核心服务,利用浏览器的xmlhttprequest或者via JSONP对象与远程HTTP服务器进行交互。
  2. $http的使用方式和jquery提供的$.ajax操作比较相同,均支持多种method的请求,get、post、put、delete等。
  3. $http的各种方式的请求更趋近于rest风格。
  4. 在controller中可通过与$scope同样的方式获取$http对象,e.g. function controller($scope,$http){}

下面进行$http服务的使用说明,调用如下:

 

$http(config).success(function(data,status,headers,config){}).error(function(data,status,headers,config){});

1.config为一个JSON对象,其中主要包含该请求的url、data、method等,如{url:"login.do",method:"post",data:{name:"12346",pwd:"123"}}。

  1. method  {String} 请求方式e.g. "GET"."POST"
  2. url {String} 请求的URL地址
  3. params {key,value} 请求参数,将在URL上被拼接成?key=value
  4. data {key,value} 数据,将被放入请求内发送至服务器
  5. cache {boolean} 若为true,在http GET请求时采用默认的$http cache,否则使用$cacheFactory的实例
  6. timeout {number} 设置超时时间

2、success为请求成功后的回调函数,error为请求失败后的回调函数,这里主要是对返回的四个参数进行说明。

  1. data 响应体
  2. status 相应的状态值
  3. headers 获取getter的函数
  4. config 请求中的config对象,同上第1点   

为了方便大家与HTTP服务器进行交互,angularJS提供了各个请求方式下方法。

$http.put/post(url,data,config) url、name必填,config可选

$http.get/delete/jsonp/head(url,confid) url必填,config可选

url、data、config与$http的参数一致,

下面有一个simple demo用于展示如何使用$http()及$http.post()。

<!DOCTYPE HTML>
<html lang="zh-cn" >
<head>
  <meta charset="UTF-8">
  <title>CSSClasses</title>
  <script src="angular.min.js" type="text/javascript"></script>
<script type="text/javascript">
  function ctrl($http,$scope){
    $scope.login = function(user){
      $http.post("login.do",user).success(function(data, status, headers, config){
        alert("success");
      }).error(function(data, status, headers, config){
        alert("error");
      })
    }
    $scope.login1 = function(user){
      $http({url:"login.do",data:user}).success(function(data, status, headers, config){
        alert("success");
      }).error(function(data, status, headers, config){
        alert("error");
      })
    }
  }
</script>
</head>
<body ng-app>
  <div ng-controller="ctrl">
    <form name="loginFm">
      Name:<input ng-model="user.name" />
      pwd: <input ng-model="user.pwd" />
      <input type="button" value="login" ng-click="login(user)" />
      <input type="button" value="login1" ng-click="login1(user)" />
    </form>
  </div>

</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 简练的几个函数
Aug 29 Javascript
Javascript 类型转换方法
Oct 24 Javascript
JavaScript版TAB选项卡效果实例
Aug 16 Javascript
JavaScript中的replace()方法使用详解
Jun 06 Javascript
js实现图片轮播效果
Dec 19 Javascript
AngualrJS中每次$http请求时的一个遮罩层Directive
Jan 26 Javascript
基于javascript html5实现3D翻书特效
Mar 14 Javascript
JavaScript内存泄漏的处理方式
Nov 20 Javascript
jQuery实现的两种简单弹窗效果示例
Apr 18 jQuery
微信小程序实现图片上传
May 23 Javascript
JS面向对象编程基础篇(一) 对象和构造函数实例详解
Mar 03 Javascript
javaScript Array api梳理
Mar 31 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
Mar 17 #Javascript
Bootstrap面板(Panels)的简单实现代码
Mar 17 #Javascript
Bootstrap模态框(Modal)实现过渡效果
Mar 17 #Javascript
详解Vue.js入门环境搭建
Mar 17 #Javascript
使用jquery datatable和bootsrap创建表格实例代码
Mar 17 #Javascript
jquery PrintArea 实现票据的套打功能(代码)
Mar 17 #Javascript
基于bootstrap实现收缩导航条
Mar 17 #Javascript
You might like
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
php随机输出名人名言的代码
2012/10/07 PHP
浅谈php优化需要注意的地方
2014/11/27 PHP
PHP内置的Math函数效率测试
2014/12/01 PHP
PHP的curl函数的用法总结
2019/02/14 PHP
ThinkPHP5&amp;5.1实现验证码的生成、使用及点击刷新功能示例
2020/02/07 PHP
用javascript获取textarea中的光标位置
2008/05/06 Javascript
在JavaScript中,为什么要尽可能使用局部变量?
2009/04/06 Javascript
Prototype RegExp对象 学习
2009/07/19 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
2012/09/30 Javascript
在Javascript中 声明时用&quot;var&quot;与不用&quot;var&quot;的区别
2013/04/15 Javascript
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
innerHTML在IE中报错解决方案
2014/12/15 Javascript
Javascript复制实例详解
2016/01/28 Javascript
js实现html table 行,列锁定的简单实例
2016/10/13 Javascript
jQuery.Sumoselect插件实现下拉复选框效果
2017/11/09 jQuery
Vue 利用指令实现禁止反复发送请求的两种方法
2019/09/15 Javascript
js实现带搜索功能的下拉框
2020/01/11 Javascript
如何通过javaScript去除字符串两端的空白字符
2020/02/06 Javascript
JS实现网页端猜数字小游戏
2020/03/06 Javascript
JS轮播图的实现方法2
2020/08/25 Javascript
使用python获取CPU和内存信息的思路与实现(linux系统)
2014/01/03 Python
python3序列化与反序列化用法实例
2015/05/26 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
2018/08/31 Python
使用python对文件中的单词进行提取的方法示例
2018/12/21 Python
python实现Dijkstra算法的最短路径问题
2019/06/21 Python
Python中base64与xml取值结合问题
2019/12/22 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
K最近邻算法(KNN)---sklearn+python实现方式
2020/02/24 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
2020/12/10 Python
IE下实现类似CSS3 text-shadow文字阴影的几种方法
2011/05/11 HTML / CSS
塑料制成的可水洗的编织平底鞋和鞋子:Rothy’s
2018/09/16 全球购物
初中优秀学生评语
2014/12/29 职场文书
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
2022/04/14 Python
uniapp引入支付宝原生扫码插件步骤详解
2022/07/23 Javascript