POST'ing на сервер для содержимого <iframe> - PullRequest
0 голосов
/ 20 июня 2009

(Первая публикация, поэтому, пожалуйста, будьте милостивы, если я отключу этикеты, разметку и т. Д.)

На стороне сервера:

IFrame-contents.php:

<?PHP

if($_POST['test-post-parameter'] == 'test-post-value'){
echo 'test-post-parameter successfully detected as "test-post-value".';
} else {
echo 'test-post-parameter either absent or of a different value than "test-post-value". :(';
}
?>

ОК, допустим, я запрашиваю iframe-содержимое, используя

bash$ wget --post-data='test-post-parameter=test-post-value' -O - http://example.com/iframe-contents.php

Результат будет:

test-post-parameter successfully detected as "test-post-value".

Если, однако, я запросил его, используя

`bash$ wget -O - http://example.com/iframe-contents.php`

Я бы в итоге получил:

test-post-parameter either absent or of a different value than "test-post-value

Теперь - допустим, у меня есть другой файл на сервере, который называется index.html:

<html><head><title>PAGE_TITLE</title></head>
<body>
<iframe width="100%" height="100%" src="iframe-contents.php" />
</body>

Если бы я попытался ввести http://example.com/index.html в своем браузере, я бы получил PAGE_TITlE в заголовке с test-post-parameter either absent or of a different value than "test-post-value". :( в теле.

У меня такой вопрос: как я могу изменить элемент iframe, чтобы получить?

test-post-parameter successfully detected as "test-post-value".

Ответы [ 2 ]

2 голосов
/ 20 июня 2009

Вы не можете. Вы можете сделать это с помощью GET.

С POST: Может быть, только если вы создаете временную страницу .php, которая имеет форму с этим значением post, и сценарий javascript, который автоматически публикует форму и перенаправляет вас на iframe-contents.php

Примерно так:

Темп-iframe.php

<html><head>
</head>
<body onLoad="document.forms.myForm.submit()">
<form name="myForm" id="myForm" method="POST" action="iframe-contents.php">
<input type="hidden" name="test-post-parameter" value="test-post-value">
</form>
</body>
</html>

И в iframe src вы добавляете: temp-ifram.php

Надеюсь, это поможет.

0 голосов
/ 20 июня 2009

Я не уверен, что вы можете сделать это для параметров записи, но если вы используете метод get, вы можете явно передавать параметры:

<html><head><title>PAGE_TITLE</title></head>
<body>
<iframe width="100%" height="100%" src="iframe-contents.php?test-post-parameter=value" />
</body>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...