2016-06-20 10 views
0

Ich möchte senden NSDictionary Daten mit AFNetworkingPOST Methode und erhalten Sie Ergebnis vom Server. dies mein NSDictionary:POST-Methode AFNetworking Antwort nicht abgeschlossen

{ 
    "category_id" = "-1"; 
    "city_id" = "-1"; 
    "degree_id" = "-1"; 
    "experience_id" = "-1"; 
    industries =  (
       { 
      id = 2; 
     }, 
       { 
      id = 4; 
     }, 
       { 
      id = 3; 
     } 
    ); 
    "position_id" = "-1"; 
    "salary_id" = "-1"; 
    skills =  (
       { 
      aa = id; 
     }, 
       { 
      aa = asdasda; 
     } 
    ); 
    "type_id" = "-1"; 
} 

wenn dieses NSDictionary sende meinen Server empfangen meine Daten wie folgt aus:

{ 
    "category_id" = "-1"; 
    "city_id" = "-1"; 
    "degree_id" = "-1"; 
    "experience_id" = "-1"; 
    industries =  (
     2, 
     4, 
     3 
    ); 
    "position_id" = "-1"; 
    "salary_id" = "-1"; 
    skills =  (
     id, 
     asdasda 
    ); 
    "type_id" = "-1"; 
} 

Ich bin so verwirrt von diesem !!!

industries & Fähigkeiten sind Array von Wörterbuch in meinem NSDictionary, aber wenn Server zu empfangen, zeigen Sie nicht Schlüssel und nur Wert in Array zeigen !!!

bitte führen Sie mich darüber.

das ist meine POST Methode:

self.params = [[NSMutableDictionary alloc]init]; 
    [self.params setObject:[NSNumber numberWithInteger:[self.object.jobCategory integerValue]] forKey:@"category_id"]; 
    [self.params setObject:[NSNumber numberWithInteger:[self.object.jobCity integerValue]] forKey:@"city_id"]; 
    [self.params setObject:self.object.industry forKey:@"industries"]; 
    [self.params setObject:[NSNumber numberWithInteger:[self.object.educationDegree integerValue]] forKey:@"degree_id"]; 
    [self.params setObject:[NSNumber numberWithInteger:[self.object.experience integerValue]] forKey:@"experience_id"]; 
    [self.params setObject:[NSNumber numberWithInteger:[self.object.jobType integerValue]] forKey:@"type_id"]; 
    [self.params setObject:[NSNumber numberWithInteger:[self.object.jobSalary integerValue]] forKey:@"salary_id"]; 
    [self.params setObject:[NSNumber numberWithInteger:[self.object.jobPosition integerValue]] forKey:@"position_id"]; 


    [self.params setObject:[NSMutableArray array] forKey:@"skills"]; 
    [[self.params objectForKey:@"skills"] addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:@"id",@"aa", nil]]; 
    [[self.params objectForKey:@"skills"] addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:@"asdasda",@"aa", nil]]; 
    //NSData *jsonData = [NSJSONSerialization dataWithJSONObject:self.params options:NSJSONWritingPrettyPrinted error:nil]; 
    //NSString *str = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 
    NSLog(@"%@",self.params); 
    NSString* path = [NSString stringWithFormat:@"%@%@" , [PublicMethods getStrings:@"url"],[PublicMethods getStrings:@"searchJob"]]; 
    [self.network callPOSTWebServiceWithPath:path AndWithParameters:self.params withCallback:^(NSDictionary *result) 
    { 
     NSLog(@"%@",result); 
     if ([[result objectForKey:@"result"]boolValue]) 
     { 
      NSLog(@"%@",[result objectForKey:@"data"]); 
     } 
     else 
     { 
      //error accured 
     } 

    }]; 
+0

Das zweite Protokoll, das Sie anzeigen, ist 'self.params'? Haben Sie 'self.object.industry' protokolliert, um zu prüfen, ob es korrekt ist? Was ist das Protokoll '[self.params objectForKey: @" skills "]'? Ich sehe nicht, was los ist. – Larme

+0

@Larme mein Freund, wenn ich log [self.params objectForKey: @ "Fähigkeiten"] zeigen mir diese: Fähigkeiten = ( { aa = id; }, { aa = asdasda; } ) – kasiri182

Antwort

0

Es ist eine sehr einfache Frage. Sie senden eine Zeichenfolge Daten, die NSDictionary geschachtelte NSArray enthält. Aber Sie senden es an den Server. Ihr Code von Industrien und Fähigkeiten, die im Array der gleiche Schlüssel ist. Also, wenn es an den Server gesendet, und dann Wert ohne Schlüssel zurückgegeben.Das ist richtig.

Möchten Sie Ihren zurückgegebenen Wert mit key.Just ändern Sie Ihre ID likes id1, id2, id3. Die Variable von aa ist genau so.

Schließlich wird der Schlüssel mit Wert zurückgegeben. Viel Glück!

+0

mein Freund Ich ändere meine Schlüssel zu ID1 und ID2, aber ich habe dieses Problem !!! – kasiri182

+0

Versuchen Sie, diese Industrie = ( { "id" = "2" }, { "id" = "4" }, { "id" = "3" } ) zu tun –

Verwandte Themen