一、2大管理对象

1.AFHTTPRequestOperationManager
* 对NSURLConnection的封装

2.AFHTTPSessionManager
* 对NSURLSession的封装

二、AFHTTPRequestOperationManager的具体使用

1.创建管理者
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

2.封装请求参数
NSMutableDictionary *params = [NSMutableDictionary dictionary];
params[@"username"] = @"哈哈哈";
params[@"pwd"] = @"123";

3.发送请求
NSString *url = @"http://localhost:8080/MJServer/login";
[mgr POST:url parameters:params
  success:^(AFHTTPRequestOperation *operation, id responseObject) {
      // 请求成功的时候调用这个block
      NSLog(@"请求成功---%@", responseObject);
  } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
      // 请求失败的时候调用调用这个block
      NSLog(@"请求失败");
  }];
// GET请求
[mgr GET:url parameters:params
  success:^(AFHTTPRequestOperation *operation, id responseObject) {
      // 请求成功的时候调用这个block
      NSLog(@"请求成功---%@", responseObject);
  } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
      // 请求失败的时候调用调用这个block
      NSLog(@"请求失败");
  }];

三、对服务器返回数据的解析

1.AFN可以自动对服务器返回的数据进行解析
* 默认将服务器返回的数据当做JSON来解析

2.设置对服务器返回数据的解析方式
1> 当做是JSON来解析(默认做法)
* mgr.responseSerializer = [AFJSONResponseSerializer serializer];
* responseObject的类型是NSDictionary或者NSArray

2> 当做是XML来解析
* mgr.responseSerializer = [AFXMLParserResponseSerializer serializer];
* responseObject的类型是NSXMLParser

3> 直接返回data
* 意思是:告诉AFN不要去解析服务器返回的数据,保持原来的data即可
* mgr.responseSerializer = [AFHTTPResponseSerializer serializer];

3.注意
* 服务器返回的数据一定要跟responseSerializer对得上
1> 服务器返回的是JSON数据
* AFJSONResponseSerializer
* AFHTTPResponseSerializer

2> 服务器返回的是XML数据
* AFXMLParserResponseSerializer
* AFHTTPResponseSerializer

3> 服务器返回的是其他数据
* AFHTTPResponseSerializer

最新文章

  1. Linux(Centos)之安装Redis及注意事项
  2. android第一行代码-6.自定义控件的实现
  3. jquery截图插件的使用
  4. Selenium2Library系列 keywords 之 _SelectElementKeywords
  5. Grunt打包GMU组件 报错处理
  6. Educational Codeforces Round 1 B. Queries on a String 暴力
  7. 中国海洋大学第四届朗讯杯高级组 Cash Cow(模拟)
  8. TCP的封包与拆包
  9. 第一章 oracle数据库基础
  10. Eclipse安装反编译工具JadClipse for Eclipse手把手教程
  11. Codevs 3990 [中国剩余定理]
  12. mysql按条件 导出sql
  13. IDEA:Maven项目找不到mapper文件 无法自动映射
  14. Xilinx Vivado的使用详细介绍(1):创建工程、编写代码、行为仿真
  15. tensorflow变量
  16. [c/c++] programming之路(18)、动态分配内存malloc
  17. 数据结构与算法之PHP排序算法(希尔排序)
  18. LabVIEW(十):数组和簇
  19. 24.类的加载机制和反射.md
  20. 蓝桥杯 BASIC-3:字母图形

热门文章

  1. ansible 命令详解{图片详解}
  2. python 爬虫系列07-天气爬虫
  3. 遍历方式 && 数组方法 && 算法
  4. 牛客网Java刷题知识点之Map的两种取值方式keySet和entrySet、HashMap 、Hashtable、TreeMap、LinkedHashMap、ConcurrentHashMap 、WeakHashMap
  5. 游戏源码--Unity开源Moba游戏-服务器-客户端完整V1.0
  6. c#委托、泛型、反射的使用情况
  7. mobile开发技巧(转)
  8. Java学习第十八天
  9. hash扩展攻击本地实验
  10. 7、侧边栏:Menu