2013-06-11 4 views
1

J'ai utilisé la sérialisation JSON pour obtenir la réponse json, ici je vais bien, mais quand j'ai besoin de poster quelques valeurs comme paire de valeur clé avec l'URL. J'ai fait comme ça, mais je n'ai pas obtenu le résultat.iOS 5 Json Sérialisation

NSArray *objects = [NSArray arrayWithObjects:@"uname", @"pwd", @"req",nil]; 
NSArray *keys = [NSArray arrayWithObjects:@"ann", @"ann", @"login", nil]; 
NSDictionary *dict = [NSDictionary dictionaryWithObjects:keys forKeys:objects]; 


if ([NSJSONSerialization isValidJSONObject:dict]) { 
    NSError *error; 

    result = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&error]; 

    if (error == nil && result != nil) { 
     // NSLog(@"Success"); 
    } 
} 

NSURL * url =[NSURL URLWithString:@"URL_address_VALUE/index.php"]; 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60]; 

[request setHTTPMethod:@"POST"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
[request setValue:[NSString stringWithFormat:@"%d",[result length]] forHTTPHeaderField:@"Content-Length"]; 
[request setHTTPBody:result]; 

NSURLResponse *res = nil; 
NSError *error = nil; 

NSData *ans = [NSURLConnection sendSynchronousRequest:request returningResponse:&res error:&error]; 

if (error == nil) { 

    NSString *strData = [[NSString alloc]initWithData:ans encoding:NSUTF8StringEncoding]; 

    NSLog(@"%@",strData); 
} 

Je ne sais pas ce qui se passe mal ... S'il vous plaît aidez-moi .. dudes

+0

Vous ne précisent pas si l'un des contrôles d'erreur pris quoi que ce soit. –

Répondre

3

Il y a plusieurs erreurs dans votre code, utilisez mon code comme référence et le comparer à la vôtre et vous Je vais faire les erreurs par vous. Le code ci-dessous fonctionne correctement depuis le point de vue d'Objective-C. Il existe des erreurs concernant votre URL ou votre service.

Code du travail:

NSMutableDictionary *dict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"ann",@"uname",@"ann",@"pwd",@"login",@"req", nil]; 
NSLog(@"dict :: %@",dict); 
NSError *error2; 
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:kNilOptions error:&error2]; 
NSString *post = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; 
NSLog(@"postLength :: %@",postLength); 
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
[request setURL:[NSURL URLWithString:@"http://exemplarr-itsolutions.com/dbook/index.php"]]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
[request setHTTPBody:postData]; 

NSURLResponse *response; 
NSError *error3; 
NSData *POSTReply = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error3]; 
NSString *str = [[NSString alloc] initWithData:POSTReply encoding:NSUTF8StringEncoding]; 
NSLog(@"str :: %@",str); 
+0

ne fonctionnait pas yaar .. –

+0

@HarishSaran: Alors, quelle est l'erreur? – Bhavin

+0

NSLog n'affiche rien @Vin –