2011-12-09 29 views
1

getメソッドを使用して、6値とjson形式のAPIリンクにデータを投稿するにはどうすればよいですか?投稿データだがGETメソッドjson -ios

本当にぼんやりしています。私はこれを数日間しています。値を書き込むために使用される6つのテキストフィールドと、ポストデータを示すボタンがあるのが最善でしょうか?

私のコードをチェックして助けてください。

-(IBAction)postDataPressed 
{ 

    NSString *urlString = @"http://192.168.18.8/apisample2/friendb.php?fm=jsn"; 
    NSURL *url = [NSURL URLWithString:urlString]; 
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 

    [request setPostValue:user.text forKey:@"un"]; 
    [request setPostValue:pass.text forKey:@"pd"]; 
    [request setPostValue:gender.text forKey:@"gd"]; 
    [request setPostValue:age.text forKey:@"ag"]; 
    [request setPostValue:status.text forKey:@"st"]; 
    [request setPostValue:lookfor.text forKey:@"lf"]; 

    [request setRequestMethod:@"GET"]; 
    [request setCompletionBlock:^{ 
    NSString *responseString = [request responseString]; 
    NSLog(@"Response: %@", responseString); 
    }]; 
    [request setFailedBlock:^{ 
     NSError *error = [request error]; 
     NSLog(@"Error: %@", error.localizedDescription); 
    }]; 
    [request setDidFinishSelector:@selector(requestFinished:)]; 
    [request setDidFailSelector:@selector(requestFailed:)]; 
    [request startAsynchronous]; 


} 

誰かが助けてくれることを願っています。

答えて

1
NSString *request_url = [NSString stringWithFormat: @"http://192.168.18.8/apisample2/friendb.php?fm=jsn&un=%@&pd=%@&gd=%@&ag=%@&st=%@&lf=%@", 
    user.text, pass.text, gender.text, age.text,status.text,lookfor.text]; 
NSURL *url = [NSURL URLWithString:request_url]; 
ASIHttpRequest *request = [ASIHttpRequest requestWithURL:url]; 
request.delegate = self; 
.... 

HTTP取得メソッドは、クエリ文字列と呼ばれるURL内のデータのみを受け入れるため、クエリ文字列を自分で作成する必要があります。

+0

お返事ありがとうございます。私はしようとした1つのUのコードを変更したが、私はまだサーバーのエラー 'データのクエリを送信、不完全な'私はまだ何か不足して取得している?再度、感謝します。 – NoobMe

+0

NSLogを使って送信データをチェックしてください。チャールズのようなプロキシを使っても良いでしょう。エスケープな問題があります(誤った文字エンコーディングのために送信されない文字もあります)。 – Till

+0

@Till - ここではチャールズプロキシが開きません。私はバイリンガルをチェックしましたが、メモ帳には奇妙なエンコーディングしか書かれていません。私は別の方法で先生ができますか?返信をありがとう....私は本当に私はこのアプリを完了することができますようにしてください – NoobMe

関連する問題