无法理解使用AFNetworking在服务器中发布数据的响应

时间:2016-02-25 10:17:23

标签: ios objective-c json afnetworking-2

我使用AFNetworking将包含设备中联系人详细信息的阵列发布到服务器。我不明白我回复的反应。以下是我的代码。

NSDictionary *parameters = @{@"UserContacts": contactsArray};
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] init];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];

[manager POST:baseUrl parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject) {
    NSLog(@"RESPONSE : %@",responseObject);

} failure:^(NSURLSessionDataTask *task, NSError *error) {    
    NSLog(@"Error: %@", error.localizedDescription);

}];

回复是

 RESPONSE : <4e6f2044 61746120 55706c6f 61646564>

任何人都可以解释一下这个回复是什么。这是ios还是php的问题。提前谢谢。

3 个答案:

答案 0 :(得分:0)

通过删除此行来尝试

manager.responseSerializer = [AFHTTPResponseSerializer serializer];

希望它有所帮助!

答案 1 :(得分:0)

success回调中放置断点,当它出现时,调试区域将显示responseObject变量的内容。

答案 2 :(得分:0)

您需要更改

manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];

manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/json"];

我使用AFNetworing调用API的方式是

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

NSDictionary *params = @{@"action": @"actionOfAPI",
                         @"Param1": Param1,
                         @"Param2": Param2};

[manager GET/POST:kBaseUrl parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {

    NSLog(@"Response: %@", responseObject);

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

    NSLog(@"Error: %@", error);
}];

如果您收到同样的错误,那么只需在项目中搜索“text / json”,然后在AFNetworking类的所有位置更改如下。

self.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", nil];