Я пытаюсь отправить некоторые значения, используя ASIFormDataRequest. Проблема в том, что даже если скрипт php выполняется, почтовые данные не принимаются.
Вот что я делаю:
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; [request setPostValue:@"Ben" forKey:@"first_name"]; [request setPostValue:@"Copsey" forKey:@"last_name"]; [request startSynchronous];
Чтобы проверить, что получает сервер, у меня есть следующий скрипт проверки php:
$handle = fopen("output.txt", "w"); fwrite($handle, count($_POST)."\n"); fwrite($handle, count($_GET)."\n"); fwrite($handle, count($_FILES)."\n"); foreach ($_POST as $key => $value) { fwrite($handle, "POST $key=$value\n"); } foreach ($_GET as $key => $value) { fwrite($handle, "GET $key=$value\n"); } fclose($handle);
Тот же скрипт работает со следующим фрагментом html:
<FORM action="http://......." enctype="multipart/form-data" method="post"> <P> What is your name? <INPUT type="text" name="submit-name"><BR> <INPUT type="submit" value="Send"> <INPUT type="reset"> </FORM>
Поскольку html-фрагмент работает с php-скриптом, я подозреваю, что php и сервер не являются проблемой.
Но у меня нет ни малейшего представления, почему ASIFormDataRequest не работает при вызове с моего iPhone.
Может кто-нибудь, пожалуйста, помогите мне?
С уважением, Саша
Наконец, мне удалось найти причину: сервер перенаправлялся с сайта.com на сайт http://www.site.com и терял из-за этого значения post. Без этого перенаправления все работает нормально. Надеюсь это поможет.