2016-05-09 10 views
-2

Ich bin neu zu IOS Ich muss drei Parameter in POST method.my übergeben Parameter sind (1) str (2) str1 (3) str2.this drei Parameter sind von verschiedenen URL in holen ZeichenfolgenformatDrei Parameter in Post-Methode mit nsurlconnection

Kodierung für POST-Methode: Ich muss diese Parameter in der Methode hinzufügen? Ich bereits Str-Parameter hinzugefügt, aber ich habe Mühe, andere zwei (str1, str2) -Parameter zu übergeben.

-(void) sendDataToServer : (NSString *) method params:(NSString *)str{ 

    NSString *post = [NSString stringWithFormat:@"branch_id=%@",str]; 
    NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 
    NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[post length]]; 

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:URL]]; 


    [request setHTTPMethod:@"POST"]; 
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
    [request setHTTPBody:postData]; 

    NSURLConnection *theConnection = [NSURLConnection connectionWithRequest:request delegate:self]; 

    if(theConnection){ 

     mutableData = [[NSMutableData alloc]init]; 
    } 
} 

viewDidLoad: auch hier möchte ich str1 und str2 Parameter.

[self sendDataToServer :@"POST" params:str]; 
+0

, warum Sie nicht Array verwenden? –

+0

Drei Parameter werden von einer anderen URL genommen, also konvertiere ich in eine andere Zeichenkette, wenn es möglich ist, sie in ein Array umzuwandeln? @TysonVignesh –

+0

wo Sie diese Methode aufgerufen haben, [self sendDataToServer: @ "POST" params: str]; –

Antwort

1

Sie auf vielfältige Weise implementieren können

Wahl-1

-(void) sendDataToServer : (NSString *) method firstparams:(NSString *)firststr secondparam:(NSString *)secondstr thirdparam:(NSString *)thirdstr{ 

NSString *post = [NSString stringWithFormat:@"branch_id=%@&xxxx=%@&yyyyy=%@",firststr,secondstr,thirdstr]; 

// continue your works as its same flow 

Call-Methode wie

[self sendDataToServer :@"POST" firstparams:@"yourbranchID" secondparam:@"xxxValue" thirdparam:@"yyyyvalue"]; 

Wahl-2

was auch immer haben Sie richtig ist, nur einige Code in viewDidLoad ändern oder sonst

// add all values in one string using stringWithFormat 
    NSString *str = [NSString stringWithFormat:@"branch_id=%@&xxxx=%@&yyyyy=%@",firststr,secondstr,thirdstr]; 
// and pass the param to web call 
[self sendDataToServer :@"POST" params:str]; 

Call-Methode als

-(void) sendDataToServer : (NSString *) method params:(NSString *)str{ 
// no need of this line 
// NSString *post = [NSString stringWithFormat:@"branch_id=%@",str]; 

// directly called the str in her 
NSData *postData = [str dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 
NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[post length]]; 

/.... as its is continue the same work 
+0

Wenn Sie geschlagen haben, erkläre ich sicherlich meinen Code –

+0

wie pro Weg folgte ich meinem Code. –

+0

negative Wähler können einmal erklären, was Fehler Sie hier –

-2

statt es zu vorbei als NSString nur die drei String in einem global deklarierte Array hinzufügen und Objekte, um es hinzuzufügen und es um Web-Service zu senden. oder erstellen Sie sie als NSDictionary und konvertieren Sie sie als JSON-Zeichenfolge in Web-Service.

NSDictionary *params = @{@"param1": str1, @"param2": str2, @"param3": str3 }; 
[self sendDataToServer :@"POST" params:params]; 

-(void) sendDataToServer : (NSString *) method params:(NSDictionary *)dict 
{ 
    NSError *error; 
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict 
                 options:NSJSONWritingPrettyPrinted // Pass 0 if you don't care about the readability of the generated string 
                 error:&error]; 

    if (! jsonData) { 
     NSLog(@"Got an error: %@", error); 
    } else { 
     NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 

     NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:URL]]; 


     [request setHTTPMethod:@"POST"]; 
     [request setValue:jsonString forHTTPHeaderField:@"Content-Length"]; 
     [request setHTTPBody:jsonData]; 

     NSURLConnection *theConnection = [NSURLConnection connectionWithRequest:request delegate:self]; 

     if(theConnection){ 

      mutableData = [[NSMutableData alloc]init]; 
     } 
    } 
} 
+0

geben Sie bitte jedes Detail Codierung ich bin neu bei ios @Tyson Vignesh –

+0

es hängt von der Web-Service-Entwickler, es als eine einzige Zeichenfolge oder eine JSON-String –

+0

sagen Hast du meine aktualisierte Antwort oder nur andere Antworten oder genug für dich überprüft? @ A.sonu –