2

だから私は.phpにつながるこのURLを持っています

これまでのところ、必要な実際の XML を除くすべてのものを取得することができました。XML は _xml という変数に格納されます。

if($this->outMethod=="" || $this->outMethod=="POST") //Default to POST
{
$_POST["_xml"] = $_xml; 
}

そのため、すでに outMethod を POST に設定していますが、_xml 内の値を取得する方法がわかりません。

- (void)grabURLInBackground
{
NSLog(@"grab url in background");
NSURL *url = [NSURL URLWithString:@"xxxxxxxxxxx"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:@"POST" forKey:@"outMethod"];
[request setPostValue:@"1" forKey:@"Entity_ID"];
[request setDelegate:self];
[request startAsynchronous];
NSLog(@"end of grabUrlInBackgroun");
}

URL が正しいことを心配しないでください。投稿したくないだけです。

- (void)requestFinished:(ASIHTTPRequest *)request
{
NSLog(@"A");
// Use when fetching text data
NSString *responseString = [request responseString];

// Use when fetching binary data
NSData *responseData = [request responseData];

if(responseString)
{
NSLog(@"responseData is not null");
}

NSLog(@"response string: %@", responseString);

//NSLog(@"%@", responseString);
}

返されたのは、リクエストは正常であるということですが、responseString に応答がありません。これは、私の php が画面上の XML を HTML で出力したくないが、結果を post "$_POST["_xml"] = $_xml 経由で送信された変数 _xml に格納するためです。

私の質問は、どうすればその xml 変数を取得できますか? ASIHTTPRequest ライブラリ内で使用できるメソッドはありませんか? ASIHTTPRequest ではなく ASIFormDataRequest クラスを使用しています。

4

1 に答える 1

1

変数をphpファイルに出力する必要があります:

if($this->outMethod=="" || $this->outMethod=="POST") //Default to POST
{
    echo $_xml; 
}

HTTPRequest (および ASIFormDataRequest も同様) は、*.php ファイルで宣言する変数には関心がありません。実際に印刷する文字列のみを返します。

于 2011-08-28T13:44:36.217 に答える