2016-05-06 19 views
0

私はIOSに新しいです。私はPostメソッドで複数のパラメータを渡す必要があります。私は正常に1つのパラメータをpostメソッドで複数のパラメータを渡します。 私が行ったコード:Postメソッドで複数のパラメータを渡す

-(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]; 
    } 
} 
+0

を取得簡単にこのクラスを使用することができますか?メソッドまたはポストボディにパラメータを追加しますか? – rckoenes

+0

NSString * post = [NSString stringWithFormat:@ "branch_id =%@&type =%@&name =%@"、str、str_name、str_type]; –

+0

私は3つのパラメータを渡したいと思っています。その3つのパラメータは異なるURLからフェッチでき、文字列形式に変換されます。コードは@BhavinRamaniコードで可能なパラメータとして渡したいです。 –

答えて

0

POSTメソッドParamsをDictionaryとして送ることができます。

次のように作成します:JSONのために

NSMutableDictionary *params = [NSMutableDictionary new]; 

[params setValue:@"18" forKey:@"branch_id"]; 

[params setValue:@"OMR" forKey:@"branch_name"]; 

[params setValue:@"Chennai" forKey:@"branch_city"]; 

を上記のようあなたのパラメータを追加することができます。その後

、データにこの辞書を変換すると、次のようのHtmlBodyメソッドに渡し:フォームデータの場合

[request setHTTPBody:postData]; 

を変換し、この後

NSData *data = [NSJSONSerialization dataWithJSONObject:params options:NSJSONWritingPrettyPrinted error:&error]; 

を:

NSString *params = [NSString stringWithFormat:@"branch_id=%@&branch_name=%@",branch_id,branch_name]; 

その後、データに変換します。その後、データとしてhtmlBodyに設定します。

希望します。

+0

JSONを投稿したいのですが、この質問に投稿されたコードはフォーム投稿です。したがって、JSONを投稿することはできません。 – rckoenes

+0

私の答えを更新しました。 @rckoenes –

0

もっと多くのパラメータを送信したい場合は、すべての情報を渡します。

NSString *parameter = [NSString stringWithFormat:@”firstname=%@&lastname=%@”,firstName, lastName]; //Parameter values from user. 

     NSData *parameterData = [parameter dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 

     NSURL *url = [NSURL URLWithString:urlString]; 
     NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url]; 
     [theRequest addValue: @”application/x-www-form-urlencoded; charset=utf-8″ forHTTPHeaderField:@”Content-Type”]; 
     [theRequest setHTTPMethod:@”POST”]; 
     [theRequest setHTTPBody:parameterData]; 

     NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self]; 

     if(connection) 
     { 
     mutableData = [[NSMutableData alloc] init]; 
     } 
     } 
関連する問題