2016-09-28 1 views
2

Request image from postman[![response image from postman] 2 J'utilise AFNetworking pour envoyer des données à server.Below est mon code.Les données ne peuvent pas être lus car il est pas dans le format correct «

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
    [manager setRequestSerializer:[AFJSONRequestSerializer serializer]]; 
    [manager setResponseSerializer:[AFJSONResponseSerializer serializer]]; 
    [manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 


    NSMutableDictionary *dict = [[NSMutableDictionary alloc]init]; 

    [dict setValue:[[arrLoginDetails objectAtIndex:0] objectForKey:@"id"] forKey:@"user_id"]; 

    [dict setValue:[[arrLoginDetails objectAtIndex:0] objectForKey:@"id"] forKey:@"shipper_id"]; 

    [dict setValue:strUuid forKey:@"imageOrderId"]; 

    [dict setValue:@"1" forKey:@"type"]; 

    NSData * imageData = UIImageJPEGRepresentation([aryImages objectAtIndex:0], 0.7); 


    if([imageData length]>0){ 
    NSString *base64String = [imageData base64EncodedStringWithOptions:0]; 


    if([base64String length]>0){ 
    [dict setValue:base64String forKey:@"file_path"]; 

     NSString * reqFormat= [NSString stringWithFormat:@"%@&email=%@&dev_id=%@",UploadImage,[[arrLoginDetails objectAtIndex:0] objectForKey:@"email"],APP_DELEGATE.stringDeviceID]; 

[manager POST:reqFormat parameters:dict1 success:^(AFHTTPRequestOperation *operation, id responseObject) 
    { 
    }failure:^(AFHTTPRequestOperation *operation, NSError *error) 
    { 
     NSLog(@"error:%@",error.debugDescription); 

} 

Ci-dessous est l'erreur Je reçois:

les données ne peuvent pas être lus car il est pas dans le bon format

erreur.

Erreur: Erreur de domaine = code NSCocoaErrorDomain = 3840 "Pas de valeur." UserInfo = {NSDebugDescription = Pas de valeur.}

Si je NSLog error.debugdescription iam obtenir comme « Les données ne peuvent pas être lus parce que ce n'est pas dans le bon format. "

S'il vous plaît aidez-moi à résoudre cette erreur.

Merci.

+0

vous ne recevez pas de JSON correct en réponse, vérifiez dans l'API REST du postier pour vérifier. – Max

+0

obtenir une réponse dans postier .. – user2931321

+0

écrire 'manager.responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions: NSJSONReadingAllowFragments];' avant la demande de poste – Max

Répondre

5

Essayez ci-dessous le code:

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 

AFJSONRequestSerializer *serializer = [AFJSONRequestSerializer serializer]; 
[serializer setStringEncoding:NSUTF8StringEncoding]; 

manager.requestSerializer=serializer; 
manager.responseSerializer.acceptableContentTypes= [NSSet setWithObjects:@"text/html",@"application/json", nil]; 

[manager POST:reqFormat parameters:dict1 progress:nil success:^(NSURLSessionTask *task, id responseObject) 
    { 
     //Print response 
    } failure:^(NSURLSessionTask *operation, NSError *error) { 
     //Print error 
    }]; 

Dans AFNetworking 3.0 AFHTTPRequestOperationManager est remplacé par AFHTTPSessionManager.

Migration Guide

+0

Obtention même erreur en utilisant AFHTTPRequestOperationManager – user2931321

+0

Etes-vous capable de fonctionner dans Postman? –

+0

Utilisez "AFHTTPSessionManager". –

0

En fait, ce problème est survenu principalement deux raisons

  1. lorsque vos paramètres sont erronés. signifie une valeur erronée ou un paramètre manquant.
  2. vérifiez votre URL. parfois, il s'est produit la cause de votre mauvaise URL.

J'ai rencontré le même problème deux fois avec la même raison.