zoukankan      html  css  js  c++  java
  • 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


  • 相关阅读:
    iOS开发技巧,细节
    一个PO审批的自动触发问题
    SAP Workflow(一)
    【S4 导数据】S/4HANA导数,只会LSMW远远不够(转)
    【MM】采购订单文本(二)
    【MM】 采购订单长文本(一)
    SAP Create Background Job定义后台作业
    No.595-Big Countries-(LeetCode之Database篇)
    设计模式之单例模式
    你一定能看懂的JDK动态代理
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5146670.html
Copyright © 2011-2022 走看看