1.GET 请求

.factory('AlarmService', ['$rootScope','ENV','$resource','$http','ionicToast',function($rootScope,ENV,$resource,$http,ionicToast) {
var resource = $resource(ENV.baseUrl + ENV.alarm);
return{
getAlarmListData: function(){
// 参数
var params = {
userAccount: window.localStorage.userAccount,
pageNo: 1
}
/**
* GET 请求方式
* 1.jquery
* 2.$http
* 3.$resource.save()
*/
// 1.jquery
$.ajax({
url: ENV.baseUrl + ENV.alarm,
type: 'GET',
data: params,
dataType : 'json',
success:function(data){
// 成功的回调
$rootScope.$broadcast("alarmListData.updated",data.object);
},
error:function(xhr){
// 失败的回调
ionicToast.show('网络异常,请检查网络!', 'top', false, 1000);
}
}); // 2.$http
$http({
url : ENV.baseUrl + ENV.alarm,
method : 'GET',
params: params,
dataType : 'json'
}).success(function(data, status, headers, config) {
// 成功的回调
$rootScope.$broadcast("alarmListData.updated",data.object);
}).error(function(data, status, headers, config) {
// 失败的回调
ionicToast.show('网络异常,请检查网络!', 'top', false, 1000);
}); $http.get(ENV.baseUrl + ENV.alarm,{
params: params
}).success(function(data, status, headers, config) {
// 成功的回调
$rootScope.$broadcast("alarmListData.updated",data.object);
}).error(function(data, status, headers, config) {
// 失败的回调
ionicToast.show('网络异常,请检查网络!', 'top', false, 1000);
}); // 3.$resource.get()
resource.get(params, function(data){
if(!data.object){
ionicToast.show('暂无数据!', 'top', false, 1000);
}else{
$rootScope.$broadcast("alarmListData.updated",data.object);
}
},function(){
ionicToast.show('网络异常,请检查网络!', 'top', false, 1000);
})
}
}
}])

2.POST 请求

.factory('AlarmService', ['$rootScope','ENV','$resource','$http','ionicToast',function($rootScope,ENV,$resource,$http,ionicToast) {
var resource = $resource(ENV.baseUrl + ENV.alarm);
return{
getAlarmListData: function(){
// 参数
var params = {
userAccount: window.localStorage.userAccount,
pageNo: 1
}
/**
* POST 请求方式
* 1.jquery
* 2.$http
* 3.$resource.save()
*/ // 1.jquery
$.ajax({
url: ENV.baseUrl + ENV.alarm,
type: 'POST',
data: params,
dataType : 'json',
success:function(data){
// 成功的回调
$rootScope.$broadcast("alarmListData.updated",data.object);
},
error:function(xhr){
// 失败的回调
ionicToast.show('网络异常,请检查网络!', 'top', false, 1000);
}
}); // 2.$http
$http({
url : ENV.baseUrl + ENV.alarm,
method : 'POST',
data: params,
dataType : 'json',
headers:{'Content-Type': 'application/x-www-form-urlencoded'}
}).success(function(data, status, headers, config) {
// 成功的回调
$rootScope.$broadcast("alarmListData.updated",data.object);
}).error(function(data, status, headers, config) {
// 失败的回调
ionicToast.show('网络异常,请检查网络!', 'top', false, 1000);
}); $http.post(
ENV.baseUrl + ENV.alarm,
params,
{ // 将参数传递的方式改成form
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
transformRequest: function (data) {
return $.param(data);
}
}
)
.success(function(data, status, headers, config) {
// 成功的回调
$rootScope.$broadcast("alarmListData.updated",data.object);
})
.error(function(data, status, headers, config) {
// 失败的回调
ionicToast.show('网络异常,请检查网络!', 'top', false, 1000);
}); // 3.$resource.save()
resource.save(params,function(data){
if(!data.object){
ionicToast.show('暂无数据!', 'top', false, 1000);
}else{
$rootScope.$broadcast("alarmListData.updated",data.object);
}
},function(){
ionicToast.show('网络异常,请检查网络!', 'top', false, 1000);
})
}
}
}])

注:post 请求需要 在 app.js 中 config 里配置 headers

$httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';

angular 的 GET 请求 和 POST 请求的 区别 及 实现的更多相关文章

  1. ASP.NET Core应用针对静态文件请求的处理[2]: 条件请求与区间请求

    通过调用ApplicationBuilder的扩展方法UseStaticFiles注册的StaticFileMiddleware中间件帮助我们处理针对文件的请求.对于StaticFileMiddlew ...

  2. Java Web中请求转发和请求包含

    1.都是在一个请求中跨越多个Servlet 2.多个Servlet在一个请求中,他们共享request对象.就是在AServle中setAttribute()保存数据在BServlet中由getAtt ...

  3. Ajax中Get请求与Post请求的区别

    Get请求和Post请求的区别 1.使用Get请求时,参数在URL中显示,而使用Post方式,则不会显示出来 2.使用Get请求发送数据量小,Post请求发送数据量大 例子 页面的HTML代码: &l ...

  4. WebApi系列~基于单请求封装多请求的设计

    回到目录 怎么说,单请求封装多请求,这句话确实有点绕了,但还是要看清楚,想明白这到底是怎么一回事,单请求即一次请求(get,post,put,delete),封闭多请求,即在客户端发送的一个请求中可能 ...

  5. 详细解读XMLHttpRequest(一)同步请求和异步请求

    本文主要参考:MDN XMLHttpRequest 让发送一个HTTP请求变得非常容易.你只需要简单的创建一个请求对象实例,打开一个URL,然后发送这个请求.当传输完毕后,结果的HTTP状态以及返回的 ...

  6. 【读书笔记】iOS网络-同步请求,队列式异步请求,异步请求的区别

    一,同步请求的最佳实践. 1,只在后台过程中使用同步请求,除非确定访问的是本地文件资源,否则请不要在主线程上使用. 2,只有在知道返回的数据不会超出应用的内存时才使用同步请求.记住,整个响应体都会位于 ...

  7. iOS开发——网络篇——文件下载(NSMutableData、NSFileHandle、NSOutputStream)和上传、压缩和解压(三方框架ZipArchive),请求头和请求体格式,断点续传Range

    一.小文件下载 NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/resources/images/minion ...

  8. request获取请求头和请求数据

    package cn.itcast.request; import java.io.IOException; import java.io.InputStream; import java.io.Pr ...

  9. Ajax的get请求向服务器请求数据五步骤?

    如下: ①创建ajax对象 ②建立http请求 ③发送http请求 ④设置ajax对象状态改变的回调函数 ⑤判断ajax状态是否等于4,做相应的业务逻辑

  10. 网络处理2-异步POST请求和同步请求

    一.异步POST请求 假如请求路径是http://192.168.1.102:8080/MJServer/login,请求参数有2个: username :母鸡 pwd :123 1.POST请求细节 ...

随机推荐

  1. GIL 线程/进程池 同步异步

    GIL 什么是GIL 全局解释器锁,本质是一把互斥锁,是加在cpython解释器上的一把锁, 同一个进程内的所有线程需要先抢到GIL锁,才能执行python代码 为什么要有GIL cpython解释器 ...

  2. ZZULIoj 1907 小火山的宝藏收益

    Description      进去宝藏后, 小火山发现宝藏有N个房间,且这n个房间通过N-1道门联通.   每一个房间都有一个价值为Ai的宝藏, 但是每一个房间也都存在一个机关.如果小火山取走了这 ...

  3. Linux文件管理类命令及命令别名

    文件查看类命令: cat: tac: 从文件尾部开始显示 分屏显示: more [option] 文件名: 查看至文件尾部会退出 空格为翻页 less [option] 文件名: 查看至文件尾部不退出 ...

  4. jq:mouseover和mouseout多次触发解决办法

    区别: mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件. 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mou ...

  5. Exchange 2010 打补丁的顺序

    升级的顺序: 客户端访问服务器 ——> 集线器传输服务器 ——>统一消息服务器(如果有的话)——> 邮箱服务器 ——> 边缘服务器.

  6. vue 判断属性是否为object

    //递归对象 var recursiveObject = Vue.extend({ name: 'recursive-object', template:[ '<ul>', '<li ...

  7. python os模块部分摘录

    转自:http://www.cnblogs.com/yigehundan/p/6379586.html python 路径相关的函数os.listdir(dirname):列出dirname下的目录和 ...

  8. Palindromic Paths(DP)

    描述 Given an N×N grid of fields (1≤N≤500), each labeled with a letter in the alphabet. For example: A ...

  9. 【Luogu】P3052摩天大楼里的奶牛(状压DP)

    参见ZHT467的题解. f[i]表示在i这个集合下的最少分组数和当前组最少的容量. 从1到(1<<n)-1枚举i,对于每个i枚举它的子奶牛,然后重载运算符计算. 代码如下 #includ ...

  10. Caffe的Solver参数设置

    Caffe的solver参数设置 http://caffe.berkeleyvision.org/tutorial/solver.html solver是通过协调前向-反向传播的参数更新来控制参数优化 ...