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 相关文章推荐
求解开jscript.encode代码的asp函数
Feb 28 Javascript
Javascript学习笔记2 函数
Jan 11 Javascript
推荐20家国外的脚本下载网站
Apr 28 Javascript
javascript插入样式实现代码
Feb 22 Javascript
用html+css+js实现的一个简单的图片切换特效
May 28 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
Jun 01 Javascript
jquery实用技巧之输入框提示语句
Jul 28 Javascript
jQuery实现微信长按识别二维码功能
Aug 26 Javascript
详解Node.js中的事件机制
Sep 22 Javascript
详解Vue中组件传值的多重实现方式
Aug 16 Javascript
vue路由 遍历生成复数router-link的例子
Oct 30 Javascript
微信小程序调用wx.getImageInfo遇到的坑解决
May 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
PHP的分页功能
2007/03/21 PHP
深入PHP数据缓存的使用说明
2013/05/10 PHP
php出现内存位置访问无效错误问题解决方法
2014/08/16 PHP
利用php操作memcache缓存的基础方法示例
2017/08/02 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
又一个图片自动缩小的JS代码
2007/03/10 Javascript
Jquery replace 字符替换实现代码
2010/12/02 Javascript
png在IE6 下无法透明的解决方法汇总
2015/05/21 Javascript
js限制input标签中只能输入中文
2015/06/26 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
2015/10/25 Javascript
用原生JS对AJAX做简单封装的实例代码
2016/07/13 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
2016/12/06 Javascript
使用jQuery实现动态添加小广告
2017/07/11 jQuery
基于axios封装fetch方法及调用实例
2018/02/05 Javascript
select标签设置默认选中的选项方法
2018/03/02 Javascript
js replace 全局替换的操作方法
2018/06/12 Javascript
vue使用ajax获取后台数据进行显示的示例
2018/08/09 Javascript
vue中el-upload上传图片到七牛的示例代码
2018/10/19 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
JS表格的动态操作完整示例
2020/01/13 Javascript
Vue实现跑马灯效果
2020/05/25 Javascript
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
Python语法之精妙的十个知识点(装B语法)
2020/01/18 Python
美国鲍勃商店:Bob’s Stores
2018/07/22 全球购物
俄罗斯设计师家具购物网站:The Furnish
2019/12/01 全球购物
上海中网科技笔试题
2012/02/19 面试题
财务管理职业生涯规划书
2014/02/26 职场文书
人力资源部经理的岗位职责
2014/03/04 职场文书
一帮一活动总结
2014/05/08 职场文书
环保项目建议书
2014/08/26 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
网络妈妈观后感
2015/06/08 职场文书
mysql中整数数据类型tinyint详解
2021/12/06 MySQL
MySQL数据库安装方法与图形化管理工具介绍
2022/05/30 MySQL