2012-01-26 4 views
0

私はサーバー上のPHPスクリプトにアクセスしています。 リクエストURLは、このようなものです:私は、ブラウザを介して要求に入れASIHTTPRequest setPostValue iPhone

example.com/cgi-bin/getEvent.cgi?EID=19573 

が、私は私の期待どおりの結果を取り戻します。

しかし、ASIHTTPフォーム要求を使用すると、EIDがHTTP経由で渡されていないのと同じように、結果が のようになります。

NSString *eventID = @"19573"; 
NSString * const EVENT_URL = @"http://example.com/cgi-bin/getEvent.cgi"; 

-(void)callWebservice 
{ 
    NSURL *url = [NSURL URLWithString:EVENT_URL]; 
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
    [request setPostValue:eventID forKey:@"EID"]; 
    [request setNumberOfTimesToRetryOnTimeout:2]; 
    [request setDelegate:self]; 
    [request startAsynchronous]; 
} 

完全なURLをリクエストする方法を知っている人はいますか? これがなぜ機能しないのか何か手がかりがありますか?

ありがとうございます。

答えて

1

私の推測では、PHPスクリプトでは、POSTパラメータではなく、クエリ文字列(つまりGETリクエスト)にパラメータが送信されると予想されます。

そのような場合は、次のようにリクエストを送信して、それを修正することができますが:

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@?EID=%@",EVENT_URL,eventID]]; 
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
+0

、おかげで固定! –

関連する問題