AFNetwork学习(二)——GET/POST请求
为了学习AFNetwork,自己搭建整理了一下AFNetwork向后台发送请求和后台返回json数据的整个处理过程。利用Struts2搭建了一个后台,提供Action并返回json数据
环境:Xcode6.3
后台:tomcat+myeclipse10.6 框架:struts2
1.新建一个single-view applicationproject名为IOS_AFNetwork,开发语言选择OC.
2.将AFNetwork库文件增加到project中,例如以下图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="400" height="420" border="1" alt="">
3.引入SystemConfiguration.framework、MobileCoreService.framework、Security.framework 。例如以下图:
4.在main.storyboard中加入两个button。发别用来发送get和post请求,并设置相应的响应函数。
例如以下图:
5.发送Get请求
//get请求
- (IBAction)getRuquest:(id)sender {
//为了測试方便。自己搭建了一个javaweb后台
NSString *URLString = @"http://localhost:8080/server/login.action";
//传递參数
NSDictionary *loginInputValue = @{@"username" : @"1234567890",
@"password" : @"123456"}; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer.timeoutInterval = self.timeInternal;
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
self.operation = [manager GET:URLString
parameters:loginInputValue
success:^(AFHTTPRequestOperation *operation, id responseObject) {
//解析后台返回的json串。将json转为字典
NSDictionary *responseData = [NSDictionary dictionaryFromJSONData:(NSData *)responseObject];
NSLog(@"success:%@",responseData);
NSString *name = [responseData objectForKey:@"name"];
NSLog(@"name : %@",name);
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error info :%@",[error description]);
}];
}
6.发送Post请求
- (IBAction)postRequest:(id)sender {
NSString *URLString = @"http://localhost:8080/server/login.action";
NSDictionary *loginInputValue = @{@"username" : @"1234567890",
@"password" : @"123456"};
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer.timeoutInterval = self.timeInternal;
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
self.operation = [manager POST:URLString
parameters:loginInputValue
success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSDictionary *responseData = [NSDictionary dictionaryFromJSONData:(NSData *)responseObject];
NSString *name = [responseData objectForKey:@"name"];
NSLog(@"name : %@",name);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error info :%@",[error description]); }];
}
OC代码下载地址:
http://download.csdn.net/detail/yuj9006/8876937
后台代码下载地址:
AFNetwork学习(二)——GET/POST请求的更多相关文章
- Node.js基础学习二之POST请求
本篇介绍下 Node.js post 请求 需求: 用户登录,前端界面输入用户名和密码,点击登录请求后台验证,根据后台反馈的信息做出响应 前端: (1)使用form表单 (2)使用ajax异步请求 服 ...
- Java开发学习(二十四)----SpringMVC设置请求映射路径
一.环境准备 创建一个Web的Maven项目 参考Java开发学习(二十三)----SpringMVC入门案例.工作流程解析及设置bean加载控制中环境准备 pom.xml添加Spring依赖 < ...
- emberjs学习二(ember-data和localstorage_adapter)
emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ...
- Android系列之网络(二)----HTTP请求头与响应头
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- Struts2框架学习(二) Action
Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ...
- DjangoRestFramework学习二之序列化组件、视图组件 serializer modelserializer
DjangoRestFramework学习二之序列化组件.视图组件 本节目录 一 序列化组件 二 视图组件 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 序列化组 ...
- SpringMVC入门学习(二)
SpringMVC入门学习(二) ssm框架 springMVC 在上一篇博客中,我简单介绍了一下SpringMVC的环境配置,和简单的使用,今天我们将进一步的学习下Springmvc的操作. mo ...
- day 82 Vue学习二之vue结合项目简单使用、this指向问题
Vue学习二之vue结合项目简单使用.this指向问题 本节目录 一 阶段性项目流程梳理 二 vue切换图片 三 vue中使用ajax 四 vue实现音乐播放器 五 vue的计算属性和监听器 六 ...
- day 90 DjangoRestFramework学习二之序列化组件
DjangoRestFramework学习二之序列化组件 本节目录 一 序列化组件 二 xxx 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 序列化组件 首先按照 ...
- vue.js学习之 跨域请求代理与axios传参
vue.js学习之 跨域请求代理与axios传参 一:跨域请求代理 1:打开config/index.js module.exports{ dev: { } } 在这里面找到proxyTable{}, ...
随机推荐
- 在AD09中查找元件和封装
在AD09中查找元件和封装 Altium Designer 软件方法/步骤 Altium下Miscellaneous Devices.Intlib元件库中常用元件有: 电阻系列(res*)排组(res ...
- BZOJ 1060: [ZJOI2007]时态同步( 树形dp )
坑爹...数据是错的..详见discuss http://www.lydsy.com/JudgeOnline/wttl/wttl.php?pid=1060 先求根到叶子的距离最大值x, 然后把所有叶 ...
- Oracle中的单引号问题
SELECT '<a href="javascript:void(0)" onclick="openWyl('''||a.aac001 FROM ac01 a; S ...
- Centos6.5快速配置可用网卡
原文链接: Centos6.5快速配置可用网卡 安装完成后,我们启动我们的系统,此时我们的系统,是没有连网的,IP设备,并没有被激活,如果我们使用ifconfig命令查看IP地址,就会发现,此刻的地址 ...
- ZOJ 2856 Happy Life 暴力求解
因为是Special Judge 的题目,只要输出正确答案即可,不唯一 暴力力求解, 只要每次改变 happiness 值为负的人的符号即可. 如果计算出当前人的 happiness 值为负,那么将其 ...
- <climits>头文件使用方法
<climits>头文件定义的符号常量 CHAR_MIN char的最小值SCHAR_MAX signed char 最大值SCHAR_MIN signed char 最小值UCH ...
- Chapter 6 装饰模式
修饰模式,是面向对象编程领域中,一种动态地往一个类中添加新的行为的设计模式.就功能而言,修饰模式相比生成子类更为灵活,这样可以给某个对象而不是整个类添加一些功能. 例如:DataOutputStrea ...
- OGG同构(ORACLE-ORACLE)、异构(ORACLE-MYSQL)同步配置及错误解析
环境:11.2.0.3(已安装数据库实例)+OEL5.7 192.168.1.55 zlm sid:zlm11g 192.168.1.60 zlm2 sid:zlm11g 一.安装软件,配置环境,创建 ...
- 使用Maven构建和部署J2EE应用程序的EAR文件
这篇文章.主要是技术上的整理,用来mark一下,用的时候參考. 一.新建项目 新建一个空的Maven Project项目 二.放入依赖 注:ear部署时假设里面有entity,会错误发生.所以不要把e ...
- JAVA中MESSAGEBOX,静态类直接引用
原文:JAVA中MESSAGEBOX,静态类直接引用 package cisdi.mes.wrm.mcode.serviceImpl; import javax.persistence.Entity; ...