angular 的 GET 请求 和 POST 请求的 区别 及 实现
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 请求的 区别 及 实现的更多相关文章
- ASP.NET Core应用针对静态文件请求的处理[2]: 条件请求与区间请求
通过调用ApplicationBuilder的扩展方法UseStaticFiles注册的StaticFileMiddleware中间件帮助我们处理针对文件的请求.对于StaticFileMiddlew ...
- Java Web中请求转发和请求包含
1.都是在一个请求中跨越多个Servlet 2.多个Servlet在一个请求中,他们共享request对象.就是在AServle中setAttribute()保存数据在BServlet中由getAtt ...
- Ajax中Get请求与Post请求的区别
Get请求和Post请求的区别 1.使用Get请求时,参数在URL中显示,而使用Post方式,则不会显示出来 2.使用Get请求发送数据量小,Post请求发送数据量大 例子 页面的HTML代码: &l ...
- WebApi系列~基于单请求封装多请求的设计
回到目录 怎么说,单请求封装多请求,这句话确实有点绕了,但还是要看清楚,想明白这到底是怎么一回事,单请求即一次请求(get,post,put,delete),封闭多请求,即在客户端发送的一个请求中可能 ...
- 详细解读XMLHttpRequest(一)同步请求和异步请求
本文主要参考:MDN XMLHttpRequest 让发送一个HTTP请求变得非常容易.你只需要简单的创建一个请求对象实例,打开一个URL,然后发送这个请求.当传输完毕后,结果的HTTP状态以及返回的 ...
- 【读书笔记】iOS网络-同步请求,队列式异步请求,异步请求的区别
一,同步请求的最佳实践. 1,只在后台过程中使用同步请求,除非确定访问的是本地文件资源,否则请不要在主线程上使用. 2,只有在知道返回的数据不会超出应用的内存时才使用同步请求.记住,整个响应体都会位于 ...
- iOS开发——网络篇——文件下载(NSMutableData、NSFileHandle、NSOutputStream)和上传、压缩和解压(三方框架ZipArchive),请求头和请求体格式,断点续传Range
一.小文件下载 NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/resources/images/minion ...
- request获取请求头和请求数据
package cn.itcast.request; import java.io.IOException; import java.io.InputStream; import java.io.Pr ...
- Ajax的get请求向服务器请求数据五步骤?
如下: ①创建ajax对象 ②建立http请求 ③发送http请求 ④设置ajax对象状态改变的回调函数 ⑤判断ajax状态是否等于4,做相应的业务逻辑
- 网络处理2-异步POST请求和同步请求
一.异步POST请求 假如请求路径是http://192.168.1.102:8080/MJServer/login,请求参数有2个: username :母鸡 pwd :123 1.POST请求细节 ...
随机推荐
- PAT Basic 1058
1058 选择题 批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多. 输入格式: 输入在第一行给出两个正整数 N(≤ 1000)和 M(≤ 100),分别是学 ...
- Android开发——Android的消息机制详解
)子线程默认是没有Looper的,Handler创建前,必须手动创建,否则会报错.通过Looper.prepare()即可为当前线程创建一个Looper,并通过Looper.loop()来开启消息循环 ...
- es6--之箭头函数
「箭头函数」是 ECMAScript6 中非常重要的性特性.很多文章都在描述它的上下文透明性以及短语法.新特性必然会带来很多好处,但凡事都有两面性.本篇文章会通过情景引导,让你知晓哪些情景下应该绕过箭 ...
- PYDay1-洗剑
学习语言的阶段: 第一阶段:所有东西都是新的::一个月 第二阶段:开始懂一些::一个月 第三阶段:感觉自己是不可战胜的:第三~第四个月 第四阶段:突然感觉什么都不知道,开发是无止境的::培训阶段不会遇 ...
- 图论trainning-part-2 C. The Largest Clique
C. The Largest Clique Time Limit: 3000ms Memory Limit: 131072KB 64-bit integer IO format: %lld ...
- shell的echo命令
echo是Shell的一个内部指令,用于在屏幕上打印出指定的字符串.命令格式: echo arg 您可以使用echo实现更复杂的输出格式控制. 显示转义字符 echo "\"It ...
- PAT天梯赛练习题——L3-007. 天梯地图(多边权SPFA)
L3-007. 天梯地图 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 本题要求你实现一个天梯赛专属在线地图,队员输入自己学校 ...
- BZOJ 2440 [中山市选2011]完全平方数 ——莫比乌斯函数
$\sum_{i=1}^n[i==d^2*p]$ 其中p无平方因子$=\sum_{d^2\mid n,d>=2}\sum_{i=1}^{\lfloor {n/d^2} \rfloor} \lef ...
- BZOJ 1087 [SCOI2005]互不侵犯King ——状压DP
[题目分析] 沉迷水题,吃枣药丸. [代码] #include <cstdio> #include <cstring> #include <iostream> #i ...
- 算法复习——平面分治(hud1007)
题目: 问题描述 : Have you ever played quoit in a playground? Quoit is a game in which flat rings are pitch ...