AngularJS(八):http服务
本文也同步发表在我的公众号“我的天空”

http服务
之前我们的示例都是在本地获取模拟数据,在实际应用中,所有的项目都将不可避免的从后台获取数据,我们都是通过Ajax来实现与服务器的通信。在AngularJS中,我们使用http服务来实现与后台的数据交互,http服务的使用请看以下代码:
var app=angular.module("myApp",[]);
app.controller("person",function($scope,$http){
$http.get('http://test.php')
.success(function(data){
//加载成功后的处理,data为返回的数据
}).error(function(data){
//加载失败后的处理,data为返回的数据
})
});
在以上代码中,我们在控制器代码中添加了$http模块,这样便可以使用http服务了,我们采取get的方式访问了一个url,随后在success()与error函数中分别针对加载成功或失败做相应的处理。测试http服务时请注意,所请求的url必须是在web服务上的,而不能在本地测试。如果要向后台传递参数,则应该添加params参数,如下:
$http.get('http://test.php',{params:{id:'5',name:'张三'}
}) .success(function(data){
......
}).error(function(data){
......
})
在以上代码中,我们添加了两个传递到后台的参数,分别是id和name,其值分别是“5”与“张三”。
如果要使用POST方式与后台通信,则应使用$http.post()方法,要注意的是params参数应该放在第三个参数位置,如下:
$http.post('http://test.php','',{params:{id:'5',name:'张三'}})
通常,我们会给请求传递一个配置对象,以便灵活的对请求进行配置,其调用形式如下:$http(config),config为一个对象,可对其设置请求方式(get/post)、请求的url、传递参数、超时时间等。如以上的示例可写成如下代码:
$http({
method:'post',
url:'http://test.php',
params:{id:5,name:'张三'}
}).success(function(data){
......
}).error(function(data){
......
})
对于config的更多配置参数,可以查阅AngularJS相关文档。
AngularJS(八):http服务的更多相关文章
- AngularJs之六(服务)
服务:AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用.AngularJS 内建了30 多个服务. 最常用的服务:$location 服务, $http 服务 ...
- 让AngularJS的$http 服务像jQuery.ajax()一样工作
让AngularJS的$http 服务像jQuery.ajax()一样工作 $http的post . 请求默认的content-Type=application/json . 提交的是json对象的字 ...
- activiti搭建(四)八项服务介绍
转载请注明源地址:http://www.cnblogs.com/lighten/p/5927949.html 1.前言 之前学习的时候一直在其它文章看到activiti提供了七个接口来操作工作流,但在 ...
- Ⅳ.AngularJS的点点滴滴-- 服务
服务(Angularjs很多方法都是服务组成的) 1.使用service方法创建的单例服务 <html> <script src="http://ajax.googleap ...
- 怎么理解angularjs中的服务?
AngularJS中的服务其实就是提供一种方式抽取共用类库 比如说一些工具类方法,我们传统的做法就是自己写个 utility 类,把相关的工具方法填充到utility里面去,最后把utility类放到 ...
- AngularJS之使用服务封装
AngularJS之使用服务封装可复用代码 创建服务组件 在AngularJS中创建一个服务组件很简单,只需要定义一个具有$get方法的构造函数, 然后使用模块的provider方法进行登记: / ...
- AngularJS 的异步服务测试与Mocking
测试 AngularJS 的异步服务 最近,在做项目时掉进了 AngularJS 异步调用 $q 测试的坑中,直接躺枪了.折腾了许久日子,终于想通了其中的道道,但并不确定是最佳的解决方案,最后还是决定 ...
- AngularJS内建服务以及自定义服务的用法
在AngularJS中, 服务是一个比较重要的部分,它是一个对象或者是函数,可以在你的AngularJS的应用中使用.接下来介绍几种比较常用的内建服务以及自定义服务的方法. [内建服务] (1)loc ...
- 【angularJS】Service服务
AngularJS 中的服务是一个函数或对象.可以创建自己的服务,或使用内建服务. 内置服务 AngularJS 内建了30 多个服务. 1. $location 服务,它可以返回当前页面的 URL ...
- angularJS(三):服务(Service)、http
一.服务 服务是一个函数或对象,可在你的 AngularJS 应用中使用. 可以创建自己的服务,或使用内建服务 $location 注意 $location 服务是作为一个参数传递到 controll ...
随机推荐
- 主备角色switch
理论知识:Switchover 切换允许primary 和一个备库进行切换,并且这种切换没有数据丢失. 前提条件: 1) 主备库相关参数 fal_client.fal_server .standby_ ...
- 洛谷 1344 [USACO4.4]追查坏牛奶Pollutant Control——最大流
题目:https://www.luogu.org/problemnew/show/P1344 那个边数的限制,只要把边权乘1001再+1即可.乘1001是因为有1000条边,这样流量小的不会因为边数多 ...
- bzoj 3501 PA2008 Cliquers Strike Back —— 贝尔数
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3501 用贝尔三角预处理贝尔数,拆模数并在 \( p \) 进制下使用公式,因为这样每次角标增 ...
- 洛谷P1020导弹拦截——LIS
题目:https://www.luogu.org/problemnew/show/P1020 主要是第二问,使用了dilworth定理:一个序列中最长不上升子序列的最大覆盖=最长上升子序列长度. di ...
- java web路径分析
绝对路径:以/开头的路径就叫做绝对路径,绝对路径在相对于的路径上直接拼接得到最终的路径 相对路径:不以/开头的路径就叫做相对路径,相对路径基于当前所在的路径计算的到最终的路径 硬盘路径:以盘符开头的路 ...
- Arduino 视频教程
http://v.youku.com/v_show/id_XNDU1MjI4MzA4.html?from=y1.2-1-176.3.12-2.1-1-1-11
- ClientSocket.h ClientSocket.cpp
ClientSocket.h #pragma once // CClientSocket 命令目标 #include "ClientProDlg.h" #include " ...
- nohup开机自启脚本
#!/bin/bash cd /root/xcloud/ str=$"/n" sstr=$(echo -e $str) nohup ./deploy >>/dev/nu ...
- CentOS快速搭建LAMP环境
LAMP -- Linux Apache MySQL PHP 在CentOS安装的顺序,我一般是Apache -> MySQL -> PHP 第一步.安装并配置Apache 1.使用yu ...
- Linux之configure make make install
正常的编译安装/卸载: 源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install). configure文件是一个可执行的脚本文件,它有很多选项, ...