2011-09-28 23 views
0

IPhoneのすべてのhttpトランザクションに対してASIHTTPRequest 1.6.2 libを使用しています。しかし、私は知らない、どのようにASIHTTPRequest iPhoneでデータを投稿することができますか?ASIHTTPRequestを使用してiPhoneでPOSTリクエストを送信する。1.6.2

iphoneで動作するコードスニペットを教えてください。 私はこれに次のコードを使用しています。しかし、私は0として応答コードを取得しています。私が間違っている場所を理解するのを助けてください。

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
[request setPostValue:inputXml forKey:@"inputXml"]; 
[request setPostValue:@"qftS6TJN343343V84hw=" forKey:@"key"]; 
[request setPostValue:@"1.2" forKey:@"version"]; 
[request setRequestMethod:@"POST"]; 
[request startAsynchronous]; 

答えて

1

あなたはASIFormDataRequestを使用する必要があります。

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
[request setPostValue:@"Ben" forKey:@"first_name"]; 
[request setPostValue:@"Copsey" forKey:@"last_name"]; 
[request setFile:@"/Users/ben/Desktop/ben.jpg" forKey:@"photo"]; 
+0

@barfoon ..私はレスポンスコードを0にしています。質問を編集してコードを追加しました。 plzを調べて、その他の余分なパラメータを設定する必要があることを示唆しています。 –

+0

サーバーへの複数の画像のアップロードにASINetworkQueueを設定することができます – Mahe

1

ここにページングする方法があります。それはここで

http://allseeing-i.com/ASIHTTPRequest/How-to-use

...などなど、取得フォームポスト、カスタムポスト、置くなどの要求のすべてのタイプをカバーXcodeプロジェクトでそれを設定する方法は次のとおりです。

http://allseeing-i.com/ASIHTTPRequest/Setup-instructions

これらの手順とスニペットはiOSで動作するはずです。

0

後あなたはhereから詳細なガイダンスを取得します

ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:url]; 
    [request appendPostData:[reqString dataUsingEncoding:NSUTF8StringEncoding]]; 
    [request setRequestMethod:@"POST"]; 
    [request setDelegate:self]; 
    [request setTimeOutSeconds:60]; 
    [request startAsynchronous]; 

...サンプルコードです。

0
 ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:]]; 

     NSMutableDictionary *dicData = [[NSMutableDictionary alloc] initWithCapacity:1]; 
     [dicData setObject:txtPassword.text forKey:@"Password"]; 
     [dicData setObject:txtEmailID.text forKey:@"Email"]; 

     [request setPostBody:[[[self parseJsonFromObject:dicData] dataUsingEncoding:NSUTF8StringEncoding] mutableCopy]]; 

     [request setRequestHeaders:[NSMutableDictionary dictionaryWithObjectsAndKeys:@"application/json", @"Content-Type", nil]]; 

     [request setDelegate:self]; 
     [request setDidFinishSelector:@selector(signUpWithEmailFinish:)]; 
     [request setDidFailSelector:@selector(signUpWithEmailFail:)]; 
     [request startAsynchronous]; 

     (void)signUpWithEmailFinish:(ASIHTTPRequest *)request 
     { 

      if (request.responseStatusCode == 200) 
      { 

     NSDictionary *responseMessage = [self objectFromJson:request.responseString]; 
     NSLog(@"ResponseMEssage=%@",responseMessage); 
     if (responseMessage) 
     { 

      if ([responseMessage objectForKey:@"user"] == nil) 
      { 

       NSLog(@"duplication not allowed"); 
       [self animation:0]; 

       return; 
      } 

      [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_LOGIN_SUCCESS object:nil]; 
      NSLog(@"Registration Complete"); 
      UserLoginPage *userLogin=[[UserLoginPage alloc]init]; 

      [self.navigationController pushViewController:userLogin animated:YES]; 
      return; 
     } 

    } 

} 
+1

あなたのコードがその質問に答える理由を説明してください。あなたはどうしたのですか? – xDaevax

関連する問題