Могу ли я использовать javascript / jquery для отправки нелокальной формы в iframe? - PullRequest
3 голосов
/ 07 апреля 2011

Я создаю страницу на http://www.localurl.com.

Я хочу отправить форму POST с http://www.url.com/form_step_1.html до http://www.url.com/form_step_2.html и отобразить http://www.url.com/form_step_2.html в фрейме.

Возможно ли это сделать с помощью JavaScript / jQuery или браузерная безопасность запрещает это? Есть ли в любом случае это можно сделать с помощью ajax?

В дополнение к выбранному ответу я нашел это сообщение в блоге чрезвычайно информативным по теме.

Ответы [ 2 ]

3 голосов
/ 07 апреля 2011

Вы не можете выполнить Javascript в другом домене, к которому у вас нет доступа.

Если у вас есть доступ, используйте:

document.domain = 'example.com'

на обеих страницах.Затем вы можете отправить форму в iFrame с помощью:

window.top.myiframename.document.myformname.submit();

или

window.myiframename.document.myformname.submit();

ПРИМЕЧАНИЕ. Это вероятно не будет работать в IE8.

В качестве альтернативы,Вы можете создать свою собственную страницу в своем домене, используя php:

<?php
    echo file_get_contents("http://www.url.com");
?>

Откройте эту страницу (которая находится на вашем локальном хосте) в вашем фрейме и используйте:

    window.top.myiframename.document.myformname.submit();

или окно.myiframename.document.myformname.submit ();

1 голос
/ 07 апреля 2011

Это не совсем то, что вам нужно, но вы можете отправить форму с target, в которой указано имя iframe.

Вкл. foo.com:

<form action="http://bar.com/action" method="POST" target="baz">
  ...
</form>

<iframe name="baz" ...></iframe>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...