我使用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的问题。提前谢谢。
答案 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];