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. The US in understimating Huawei, says founder Ren zhengfei

    Huawei Founder Ren Zhengfei has downplayed the impact of the US executive order that cripple Huawei' ...

  2. Python-约瑟夫环

    n个人(以编号0,1,2,3...n-1分别表示)围坐在一张圆桌周围.从编号为0的人开始报数1,数到m的那个人出列: 他的下一个人又从1开始报数,数到m的那个人又出列:依此规律重复下去,直到圆桌周围的 ...

  3. HDU 2476 区间DP String painter

    题解 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm ...

  4. POJ 2486 树形背包DP Apple Tree

    设d(u, j, 0)表示在以u为根的子树中至多走k步并且最终返回u,能吃到的最多的苹果. 则有状态转移方程: #include <iostream> #include <cstdi ...

  5. 学习Gulp过程中遇到的一些单词含义

    注:以下有的单词的含义不仅仅在gulp里面是一样的,在其他某些语言里面也是一样 nodejs Doc:https://nodejs.org/api/stream.html gulp Api:http: ...

  6. Mac 生成public_key

    1.首先查看是否已经生成过public_key 打开终端查看是否已经存在SSH密钥:cd ~/.ssh 输出:No such file or directory表示没有 2.生成public_key ...

  7. 对于一棵二叉树,请设计一个算法,创建含有某一深度上所有结点的链表。 给定二叉树的根结点指针TreeNode* root,以及链表上结点的深度,请返回一个链表ListNode,代表该深度上所有结点的值,请按树上从左往右的顺序链接,保证深度不超过树的高度,树上结点的值为非负整数且不超过100000。

    /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x ...

  8. CSAPP学习笔记—虚拟内存

    CSAPP学习笔记—虚拟内存 符号说明 虚拟内存地址寻址 图9-12展示了MMU如何利用页表来实现这种映射.CPU中的一个控制寄存器,页表基址寄存器(Page Table Base Register, ...

  9. CodeForces contest/776 A+B+C题解

    ICM Technex 2017 and Codeforces Round #400 (Div. 1 +Div.2,combined) A. A Serial Killer 谜一样的题意:每天从两个人 ...

  10. 【bzoj2901】矩阵求和 前缀和

    题目描述 给出两个n*n的矩阵,m次询问它们的积中给定子矩阵的数值和. 输入 第一行两个正整数n,m. 接下来n行,每行n个非负整数,表示第一个矩阵. 接下来n行,每行n个非负整数,表示第二个矩阵. ...