Angular--$http服务
关于Angular中$http 服务是对XMLHttpRequest 对象的封装,向服务器发送请求;
下面自己在angular中$http学习的一个记录,
GET请求(先贴码)
angualr代码:
var app = angular.module('app',[]);
app.controller('contr',['$scope', '$http', '$window',function($scope, $http, $window){
$scope.num = "0";
$scope.result = "偶数";
$scope.chk = function(){
$http({
method: 'POST',
url: '/chk.php',
params: {
num: $scope.num
}
}).success(function(data, status, headers, config){
data = angular.fromJson(data);
$scope.result = data['type'];
}).error(function(data, status, headers, config){
console.log('faild!');
});
};
}]);
PHP代码:
<?php
function chk($num){
return ($num%2) == 0 ? true : false;
}
//$num = $_POST["num"];
$num = $_GET["num"];
if (chk($num)){
echo '{"type": "偶数"}';
} else {
echo '{"type": "奇数"}';
}
?>
$http方法有俩种写法,第一种是上面的写法,另一种是promise的写法;$http().then(fn({data, status, statusText, headers}), fn2());
针对GET请求,我目前发现$http服务只需要关注三个参数:method, url, params; 根据succuss函数返回data中的具体数据转化,如果是json数据需要使用angular.fromJson()方法进行转化,
POST请求(先贴码)
var app = angular.module('app',[]);
app.controller('contr',['$scope', '$http', '$window',function($scope, $http, $window){
$scope.num = "0";
$scope.result = "偶数";
$scope.chk = function(){
$http({
method: 'POST',
url: '/chk.php',
data: {
num: $scope.num
},
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
transformRequest: function(obj) {
var str = [];
for (var p in obj) {
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
}
return str.join("&");
}
}).success(function(data, status, headers, config){
data = angular.fromJson(data);
$scope.result = data['type'];
}).error(function(data, status, headers, config){
console.log('faild!');
});
};
}]);
在使用angular的$http中的POST请求时,需要关注的参数要比GET多:method, url, data, headers, transformRequest;上述参数必须设置,不然后端可能无法获取到(可能我的php知识太菜了,只能写那种简单的获取方式 - -);
在php代码中我就不重复贴,只是将对应的$_GET["value"]换成 $_POST["value"]即可;
Angular--$http服务的更多相关文章
- $q服务——angular
$q是做为angular的一个服务而存在的,只是对promise异步编程模式的一个简化实现版,源码中剔除注释实现代码也就二百多行,下面开始介绍$q的API. 一.defer对象(延迟对象)可以通$q. ...
- solr服务中集成IKAnalyzer中文分词器、集成dataimportHandler插件
昨天已经在Tomcat容器中成功的部署了solr全文检索引擎系统的服务:今天来分享一下solr服务在海量数据的网站中是如何实现数据的检索. 在solr服务中集成IKAnalyzer中文分词器的步骤: ...
- Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)
本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...
- 启动了VSAN服务的主机不在vCenter集群中
背景: 这个问题的来源是,某用户将该ESXi主机直接夺取到另一个vCenterA的管辖中,而这个vCenterA中集群A开启了VSAN功能,导致再次反向夺取到vCenterB中的时候带有了来自于集群A ...
- node服务的监控预警系统架构
需求背景 目前node端的服务逐渐成熟,在不少公司内部也开始承担业务处理或者视图渲染工作.不同于个人开发的简单服务器,企业级的node服务要求更为苛刻: 高稳定性.高可靠性.鲁棒性以及直观的监控和报警 ...
- 通过AngularJS实现前端与后台的数据对接(二)——服务(service,$http)篇
什么是服务? 服务提供了一种能在应用的整个生命周期内保持数据的方法,它能够在控制器之间进行通信,并且能保证数据的一致性. 服务是一个单例对象,在每个应用中只会被实例化一次(被$injector实例化) ...
- 本人提供微软系.NET技术顾问服务,欢迎企业咨询!
背景: 1:目前微软系.NET技术高端人才缺少. 2:企业很难直接招到高端技术人才. 3:本人提供.NET技术顾问,保障你的产品或项目在正确的技术方向. 技术顾问服务 硬服务项: 1:提供技术.决策. ...
- 使用 Roslyn 编译器服务
.NET Core和 .NET 4.6中 的C# 6/7 中的编译器Roslyn 一个重要的特性就是"Compiler as a Service",简单的讲,就是就是将编译器开放为 ...
- C#高性能TCP服务的多种实现方式
哎~~ 想想大部分园友应该对 "高性能" 字样更感兴趣,为了吸引眼球所以标题中一定要突出,其实我更喜欢的标题是<猴赛雷,C#编写TCP服务的花样姿势!>. 本篇文章的主 ...
- 使用ServiceStack构建Web服务
提到构建WebService服务,大家肯定第一个想到的是使用WCF,因为简单快捷嘛.首先要说明的是,本人对WCF不太了解,但是想快速建立一个WebService,于是看到了MSDN上的这一篇文章 Bu ...
随机推荐
- Install Atom editor in ubuntu 14.04
Step 1: Add repository sudo add-apt-repository ppa:webupd8team/atom Step 2: Update the repository su ...
- CSS属性选择符
属性选择符: E[att] 选择具有att属性的E元素. <style type="text/css"> a[class]{ background-color: red ...
- Coding源码学习第二部分(FunctionIntroManager.m)
接上篇.上篇有一个细节忘了写,在Coding_iOS-Info.plist 里面添加了一个key 是 Status bar is initially hidden Value 是 YES,在appl ...
- Android中的Keyevent
使用Adb shell command直接送key event給Android adb shell input keyevent 7 # for key '0' adb shell input key ...
- Swift函数
函数 函数 介绍 // func // 在Swift中,一个个的方法就是函数 // 1.定义函数的关键字是func // 在定义函数的时候,不管有没有参数都加括号,参数写在括号中 // 在定义函数时, ...
- <![CDATA[]]>作用
<![CDATA[]]>的作用是让XML解析器将标签中的字符串当作普通文本对待,以防止某些字符串对XML格式造成破坏.
- 更新App版本的流程
上班一年了还没有自己打包上传过APP,周五下班时项目经理手把手教了我一遍,我大致把流程在这里回顾一下: 1.首先要将svn上的代码拷贝一份到分支上,用终端操作:svn cp https://192.1 ...
- 软件测试第六周学习笔记之“Win8 APP应用程序的白盒测试”
这周的学习笔记我想写点自己关于实验中碰到的问题和感想. 因为这次做的是白盒测试,所以我决定去测试一下上回测试的app的功能函数. 这次我用的是单元测试项目来做的白盒测试: 创建单元测试的步骤: 1.点 ...
- sigaction和sigqueue
sigaction函数相对于siganl函数控制信号的发送要更加精确一些,其函数原型为: int sigaction(int signum, const struct sigaction *act, ...
- php 序列化、json
序列化 和 反序列化1. serialize和unserialize函数 2. json_encode 和 json_decode 使用JSON格式序列化和反序列化3. var_export 和 ev ...