Могу ли я отправить данные в функцию JavaScript на сервере Iphone - PullRequest
0 голосов
/ 18 июня 2011

Мне интересно, можно ли вызвать функцию javascript из моего приложения.Функция js находится на сервере.Допустим, у меня есть некоторые входные данные в приложении.Затем у меня есть эта кнопка отправки, которая вызывает IBAction, от IBAction я хочу позвонить:

function mySubmit(){
    document.getElementById("myForm").submit();
}

и передать ему данные, введенные пользователем, а затем получить ответ (в моем приложении), которого нет всервер

Возможно ли это сделать?Если да, можете ли вы предоставить несколько полезных ссылок?

Заранее спасибо и хорошей субботы;)

1 Ответ

0 голосов
/ 18 июня 2011

Функция js находится на сервере

Вы уверены, что это ваш случай? Разве вы не имеете в виду, что ваш js отправляет форму, которая сама обрабатывается на стороне сервера? Обычно Javascript - это язык сценариев на стороне клиента, который выполняется на стороне клиента, в отличие, например, от PHP, который выполняется только на стороне сервера.

[РЕДАКТИРОВАТЬ] (Как сказано @ Dr.Dredel в комментариях, поскольку существует серверный javascript, но эти применения пока не очень распространены, и я не думаю, что это соответствует вашему контексту)

Если вам нужно вызвать функцию javascript с уже загруженной HTML-страницы в WebView, вы можете просто использовать UIWebView stringByEvaluatingJavascriptFromString:. Вы можете передать строку, представляющую код javascript, в эту функцию, чтобы вы могли без проблем создать строку, представляющую вызов функции, например, с аргументами string или int.

Но если вы намереваетесь загрузить свою HTML-страницу просто для вызова функции javascript, которая, в свою очередь, отправляет форму, которая отправляет данные формы на ваш сервер ... Это явно неправильный путь!

Вместо этого вам следует рассмотреть возможность выполнения NSURLRequest на вашем сервере непосредственно в Objective-C (возможно с использованием ASIHTTPRequest для выполнения запроса POST и простого задания значений для каждого ключа форма, которую вы намереваетесь отправить). Кроме того, выполнение этого непосредственно в ObjC позволит избежать загрузки страницы HTML даром и будет зависеть от сценария js, а также позволит вам напрямую получить ответ в методе делегата.

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