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请求细节 ...
随机推荐
- python爬虫基础05-beautifulsoup
HTML解析库BeautifulSoup4 本文链接:https://www.jianshu.com/p/e9255c446a77 BeautifulSoup 是一个可以从HTML或XML文件中提取数 ...
- 数据结构( Pyhon 语言描述 ) — — 第1章:Python编程基础
变量和赋值语句 在同一条赋值语句中可以引入多个变量 交换变量a 和b 的值 a,b = b,a Python换行可以使用转义字符\,下一行的缩进量相同 )\ 帮助文档 help() 控制语句 条件式语 ...
- JAVA面向过程VS面向对象
面向过程 面向过程是一种自顶向下的编程,强调行为过程,可扩展性可维护性差. 优点: 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源. 单片机.嵌入式开发.Linux/Unix等一般 ...
- 【LeetCode】Path Sum(路径总和)
这道题是LeetCode里的第112道题.是我在学数据结构——二叉树的时候碰见的题.题目要求: 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和 ...
- SGU 149 树形DP Computer Network
这道题搜了一晚上的题解,外加自己想了半个早上,终于想得很透彻了.于是打算好好写一写这题题解,而且这种做法比网上大多数题解要简单而且代码也比较简洁. 首先要把题读懂,把输入读懂,这实际上是一颗有向树.第 ...
- android 之 TabHost
TabHost的实现有两种方式,第一种继承TabActivity,从TabActivity中用getTabHost()方法获取TabHost.各个Tab中的内容在布局文件中定义就行了. mainAct ...
- Appium自动化-基于java的环境搭建
引言 自动化测试框架搭建主要分为以下几个方面的下载安装及环境配置: 1.jdk 2. adt 3. appium 4. testng插件 工具链接: https://pan.baidu.com/s/1 ...
- 从ip addr add和ifconfig的区别看linux网卡ip地址的结构
今天一个老外在邮件列表上问了一个问题,就是ip addr add和ifconfig的区别,我给他进行了解答,可能因为英语不好吧,解答的很简单,因此我还是要在这里详细说明一下.其实它们之间没有什么区别, ...
- STL学习笔记(三) 关联容器
条款19:理解相等(equality)和等价(equivalence)的区别 相等的概念是基于 operator== 的,如果 operator== 的实现不正确,会导致并不实际相等等价关系是以&qu ...
- POJ 3585 Accumulation Degree
二次扫描与换根法 用于解决无根树,对于每一个节点作为根时都要统计 做法: 1.先以任意一个节点为根,做树形DP,保存每个节点的DP值 2.然后自上而下dfs,对于每个节点考虑以他为根的最大值 #inc ...