3

嗨,我是 AFNetworking 2.0 的新手,我需要使用 AFHTTPRequestOperationManager 连接我的 php 文件,但如果我得到响应,它只会返回 null。

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    manager.securityPolicy.allowInvalidCertificates = YES;
    manager.requestSerializer = [AFHTTPRequestSerializer serializer];
    manager.responseSerializer = [AFImageResponseSerializer serializer];
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
    NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
    [parameters setObject:contactName forKey:kContactNameKey];
    [parameters setObject:mailTo forKey:kMailToKey];
    [parameters setObject:mailCc forKey:kMailCcKey];
    [parameters setObject:category forKey:kCategoryKey];


    [manager POST:@"http://www.sample.com/sample/sample.php" parameters:parameters
          success:^(AFHTTPRequestOperation *operation,id responseObject){

              NSLog(@"Success %@",responseObject);
    }
          failure:^(AFHTTPRequestOperation *operation, NSError *error){
              NSLog(@"%@",error);
          }];

顺便说一句,这是我的 php 文件中的示例行

$EmailTo=mosGetParam($_REQUEST, 'mailTo', '');

$EmailCC=mosGetParam($_REQUEST, 'mailCc', '');

$fromName=mosGetParam($_REQUEST, 'fromName', '');

$deviceId=mosGetParam($_REQUEST, 'deviceId', '');

$appVersion=mosGetParam($_REQUEST, 'appVersion', '1.0');

$osVersion=mosGetParam($_REQUEST, 'osVersion', '');

我希望你能帮助我..提前谢谢:)

4

1 回答 1

1

我找到了我的解决方案,我唯一的问题是这条线

manager.responseSerializer = [AFImageResponseSerializer serializer];

所以我把它改成了http

manager.responseSerializer = [AFHTTPRequestSerializer serializer];

我会将 responseObject 转换为 utf8 以获取它的字符串。

success:^(AFHTTPRequestOperation *operation,id responseObject){

              NSString *string = [[NString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
              NSLog(@"Success: %@",string);
    }
于 2014-03-06T23:03:03.557 回答