代码测试
NSString *urlStr = @"http://xxx";
//GET Request
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer=[AFJSONResponseSerializer serializer];
[manager GET:urlStr parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
NSMutableArray *resDataArray = responseObject[@"data"];
NSLog(@"JSON Key 資料: total:%@ \n%@ \n%@\n%@\n%@",
responseObject[@"total"],
resDataArray[0][@"User_id"],
resDataArray[0][@"act_user"],
resDataArray[0][@"act_user_name"],
resDataArray[0][@"message"]);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"请求失败Error: %@", error);
}];
NSLog(@"commit");
解决思路:
1.看看是用http还是json
manager.responseSerializer = [AFJSONResponseSerializer serializer];
2.text/html 那个去掉看看报什么错,有时候这句不一定需要。
3.params有没有问题,有没有映射错误。
具体看接口的要求,用get还是post,什么类型的数据,传什么参。我就是一个个试验出来的。
解决方法:
AFNetworking 2.0 默认不支持text/html
AFURLResponseSerialization.m -> self.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", nil]; 添加 @"text/html" .
或者在代码加入:
manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObject: @"text/html"];