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


  • 相关阅读:
    servlet生命周期和线程安全
    如何保证Redis与数据库的数据一致性
    消息队列高可用、幂等性、顺序性、可靠性传输、堆积问题解决
    如何保证消息队列消息的顺序性
    RabbitMQ 如何保证消息不丢失?
    深入理解MySql事务
    MySQL/mariadb知识点总结
    如何实现一个线程安全的单例,前提是不能加锁
    DUBBO原理、应用与面经总结
    SpringBoot中资源初始化加载的几种方式
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5146670.html
Copyright © 2011-2022 走看看