ASIFormDataRequest - приложение для iOS.Как мне получить переменную записи - PullRequest
2 голосов
/ 27 августа 2011

Итак, у меня есть этот URL, который приводит к .php

До сих пор мне удавалось получить все, кроме фактического 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, но сохраняет результат в переменной _xml, отправленной по почте "$ _POST [" _ xml "] = $ _xml

Мой вопростакое, как мне вернуть эту переменную xml? Разве нет метода, доступного в библиотеке ASIHTTPRequest? Я использую класс ASIFormDataRequest, а не ASIHTTPRequest.

1 Ответ

1 голос
/ 28 августа 2011

Вы должны напечатать переменную в php-файле:

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

HTTPRequest (и также ASIFormDataRequest) не интересует переменные, которые вы объявляете в вашем * .php-файле.Он возвращает только строку, которую вы на самом деле печатаете.

...