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 相关文章推荐
Js 中debug方式
Feb 07 Javascript
jquery validation验证身份证号,护照,电话号码,email(实例代码)
Nov 06 Javascript
Javascript中arguments对象详解
Oct 22 Javascript
JQuery中serialize() 序列化
Mar 13 Javascript
js本地图片预览实现代码
Oct 09 Javascript
js仿网易表单及时验证功能
Mar 07 Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
Jun 22 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
Aug 13 jQuery
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
Jun 07 Javascript
关于在LayUI中使用AJAX提交巨坑记录
Oct 25 Javascript
vue中的 $slot 获取插槽的节点实例
Nov 12 Javascript
实现vuex原理的示例
Oct 21 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
网页游戏开发入门教程三(简单程序应用)
2009/11/02 PHP
PHP 文件缓存的性能测试
2010/04/25 PHP
php下目前为目最全的CURL中文说明
2010/08/01 PHP
深入php self与$this的详解
2013/06/08 PHP
解析phpstorm + xdebug 远程断点调试
2013/06/20 PHP
php上传文件中文文件名乱码的解决方法
2013/11/01 PHP
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
php网页版聊天软件实现代码
2016/08/12 PHP
php5与php7的区别点总结
2019/10/11 PHP
DWR Ext 加载数据
2009/03/22 Javascript
学习ExtJS table布局
2009/10/08 Javascript
JavaScript获取页面上某个元素的代码
2011/03/13 Javascript
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
js脚本分页代码分享(7种样式)
2015/08/19 Javascript
js简单设置与使用cookie的方法
2016/01/22 Javascript
JavaScript中的继承之类继承
2016/05/01 Javascript
js html css实现复选框全选与反选
2016/10/09 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
2017/02/10 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
2种在vue项目中使用百度地图的简单方法
2018/09/28 Javascript
elementUI多选框反选的实现代码
2019/04/03 Javascript
Vue中fragment.js使用方法小结
2020/02/17 Javascript
vue 获取元素额外生成的data-v-xxx操作
2020/09/09 Javascript
Python判断变量是否为Json格式的字符串示例
2017/05/03 Python
Python面向对象之类和实例用法分析
2019/06/08 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
Python包资源下载路径报404解决方案
2020/11/05 Python
突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
2013/01/31 HTML / CSS
超市促销活动总结
2014/07/01 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
2014乡镇领导班子四风对照检查材料思想汇报
2014/10/05 职场文书
优秀团员个人总结
2015/02/26 职场文书
原来闭幕词是这样写的呀!
2019/07/01 职场文书