AFHTTPSessionManager *session = [AFHTTPSessionManager manager];    session.requestSerializer = [AFJSONRequestSerializer serializer];
    [session.requestSerializer setValue:@"charset=utf-8;application/json" forHTTPHeaderField:@"Content-Type"];    session.responseSerializer = [AFJSONResponseSerializer serializer];
    
    [session POST:URLString parameters:parameters progress:^(NSProgress * _Nonnull uploadProgress) {
        
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        if (responseObject) {
            
        }
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        
    }];

解决方案 »

  1.   

    AFJSONRequestSerializer . 这个是需要json格式请求的,如果不是可以用另外的
      

  2.   

    NSData *JSONdata = nil;
        if(parameters){
            JSONdata = [NSJSONSerialization dataWithJSONObject:parameters options:NSJSONWritingPrettyPrinted error:nil];
        }
        
        
        
        AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
        
        NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] requestWithMethod:methodString URLString:urlStr parameters:nil error:nil];
        request.timeoutInterval= TIMEOUT;
        [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
        request.cachePolicy = NSURLRequestReloadIgnoringCacheData;
        
        
        [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
        // 设置body
        [request setHTTPBody:JSONdata];
        
        manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:
                                                             @"application/json",
                                                             @"text/html",
                                                             @"text/json",
                                                             @"text/plain",
                                                             @"text/javascript", nil];
        
        NSURLSessionDataTask *task = nil;
        
        task = [manager dataTaskWithRequest:request uploadProgress:nil downloadProgress:nil completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
            
            if(error){
                if(failureBlock){
                    failureBlock(responseObject ,error);
                }
            }else{
                if(successBlock){
                    successBlock(responseObject);
                }
            }
        }];
        [task resume];