Как отправить форму в UIWebView, загруженном с помощью HTMLString: baseURL :? - PullRequest
3 голосов
/ 02 мая 2011

Оха,

Я отображаю HTML-страницу, которая содержит форму с некоторыми полями для ввода текста и кнопку отправки.

  • Если я отображаю страницу, используя loadRequest: все работает нормально.
  • Если я отображаю ту же страницу, используя loadHTMLString: baseURL: , кнопка отправки больше не работает.

Адрес, который должен быть назван:

HTTP: //..../lire.php ID = 33570 # bloc_commentaire

Если я регистрирую адрес, который он пытается достичь, я получаю:

applewebdata: // BF6F3D92-9F36-40CA-A3EB-BCD3F14852B6 # bloc_commentaire

Есть ли у вас какие-либо идеи о том, что мне следует сделать, чтобы иметь возможность публиковать статически загруженную форму с помощью loadHTMLString: baseURL:?

Спасибо, Винсент

1 Ответ

7 голосов
/ 02 мая 2011

Проблема возникает из-за того, что ваше веб-представление не знает, где размещать данные, потому что HTML-файл загружается из строки, а не с определенного веб-сервера.

Убедитесь, что вы правильно установили baseURL в своем вызове на

 [webView loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL]

Подробности:

Когда веб-просмотр находит относительный URL вHTML, он объединяет его с baseURL, чтобы сформировать абсолютный URL, который можно использовать для отправки или нажатия.Например:

Задано http://www.test.com/foo/ как baseURL и относительный URL-тег lke <a href="bar/hello.php">click me</a>

Когда пользователь нажимает на ссылку, представление отправит запрос на http://www.test.com/foo/bar/hello.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...