AngularJS给我们提供了大量的内置服务,通过这些内置服务就可以快捷的进行一些业务功能流程的自动处理了。

AngularJS的内置服务有:

$window用于注入原生JS中的window对象

$document用于注入原生JS中的document文档对象

$timeout用于注入封装的原生JS中的setTimeout()函数处理过程

$interval用于注入封装的原生JS中的setInterval()函数处理过程

$location用于注入原生JS中的location对象方便对于URL地址等操作

$http用于注入封装的Ajax操作进行异步数据请求等等

今天说说我对于$http内置服务的理解:


$http服务是AngularJS的核心服务之一,这个服务主要封装了XMLHttpRequest对象和JSONP数据访问模式来完成远程服务的数据请求!

其语法为:

$http({

method:”GET”,/* 请求发送方式 */

url:url /* 请求地址*/


   }).then(   function success(res) {     // 成功处理函数     },     function error(res) {  // 请求失败处理函数        }
)


AngularJS为了方便开发人员进行快捷的异步数据请求的处理,提供了一系列的快捷函数方便开发,主要由如下的函数:

$http.get()

$http.post()

$http.jsonp()

$http.header()

$http.patch()

$http.put()

$http.delete()


$http.get(“url”).then(fn1, fn2);

在常规项目开发时,使用较多的是原始的内置服务$http的$http({}).then(fn1, fn2)函数进行异步数据处理。


我们通过登陆的实例来更加深刻的了解$http内置服务:


<!--html代码-->
<!DOCTYPE html>
<html ng-app="myApp">
<head><meta charset="UTF-8"><title>Title</title><script src="js/lib/AngularJS/angular.min.js"></script>
</head>
<body>
<div class="form" ng-controller="myCtrl">用户名:<input type="text" ng-model="username"><br/>密码:<input type="text" ng-model="password"><br/><button ng-click="loginFn()">登陆</button>
</div>
</body>
</html>
<!--js代码--><script>var app = angular.module("myApp",[]);app.controller("myCtrl",["$scope","$http",function($scope,$http){$scope.loginFn = function(){$http({method:"GET",url:"http://datainfo.duapp.com/shopdata/userinfo.php",//登陆端口params:{status:"login",userID:$scope.username,password:$scope.password}}).then(function success(resp){console.log("请求成功",resp);if(resp.data instanceof Object){ //判断是否是对象console.log("登陆成功,跳转首页!");}else{console.log("登录失败");}},function error(resp){console.log("请求失败");})}}])
</script>

js代码中,我们用$http内置服务来实现登陆的功能。

注:

method:如果是“GET”的方式,我们使用params来传递参数
                如果是Post请求,我们使用data来尝试传递参数。

最新文章

  1. Python环境出现模块找不到
  2. 在.NET中使用iTextSharp创建/读取PDF报告: Part I [翻译]
  3. 中科大计算机学院的保研率,中科大2021届保研率44.7%,少年班83.4%,物理计算机人数最多...
  4. Error opening terminal: xterm-256color
  5. 结合使用slf4j和Logback教程
  6. 【C语言进阶深度学习记录】三十三 C语言中动态内存分配
  7. html5同心圆代码,HTML5/Canvas 鼠标跟随的同心圆
  8. 分类问题后处理技巧CAN,近乎零成本获取效果提升
  9. 当网站不允许上传ASP,CGI,CER等脚本文件时
  10. Java学习笔记——JDBC之与数据库MySQL的连接以及增删改查等操作
  11. canvas drawImage() 方法绘制图片与视频
  12. Dubbo服务服务暴露之ProxyFactory Invoker
  13. 【postgres】postgres 数据库迁移
  14. IDEA工具上传项目报:Push rejected: Push to origin/master was rejected
  15. npm install 报错up to date, audited 1 package in 133msfound 0 vulnerabilities
  16. 节气丨大雪至,人间至此雪盛时,岁暮天寒,顺问冬安
  17. 酒桌小游戏喝酒小程序
  18. mysql:列类型之时间日期
  19. 随着XAG加密圈影响力不断增强,吸引全球最大行情站点CMC收录瑞波基因XAG
  20. python 小游戏 《孙悟空大战白骨精》

热门文章

  1. html+css实战91-pxcook使用
  2. 贵州省电子计算机学校,贵州省电子工业学校
  3. 专利的权利范围怎么理解?
  4. ISOCOM(安数光)产品优势
  5. volatile unsigned int 什么意思
  6. Anaconda3安装pytorch未添加环境变量如何运行xxx.sh脚本
  7. 删除压缩包文件的压缩密码
  8. 软件技术实习项目三 迷宫
  9. [EDI 案例] 村田/muRata EDI实施案例
  10. 【经典算法题】Pow(x, n)