• 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中,例如以下图:


    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


    后台代码下载地址:

    http://download.csdn.net/detail/yuj9006/8876999


  • 相关阅读:
    Pycharm2017应用小技巧
    浅谈哈希表
    攻克网页文字不可复制的难题
    Java中List的相关知识
    电脑实用小技巧
    Jme3涉及的eclipse知识
    Word2010撤销按钮失效,Ctrl+Z失效解决办法
    Word文档中怎么删除空白页?删除空白页的六种方法
    word中分栏后文字均匀的分布在了左右两栏,而不是填满左栏再填右栏,怎么办?
    visdom服务启动时提示Downloading scripts, this may take a little while解决办法
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5146670.html
Copyright © 2020-2023  润新知