Спецификация рекомендует "перенаправить ответ [формы] на скрытый HTML-фрейм", как этого добиться?

В спецификации CMIS говорится об HTTP-ответе на отправленную HTML-форму:

В целом, ответ не является полезным для конечного пользователя.
Поэтому клиенты должны перенаправить ответ на скрытый HTML-фрейм.
Событие iframe onLoad может использоваться как уведомление о состоянии операции.

("клиент" выше означает веб-страницу в браузере)

Я не вижу, как в HTML можно "перенаправить ответ на скрытый HTML-фрейм".

Форма не может быть внутри скрытого iframe, так как форма должна быть видимой. И если бы авторы хотели скрыть iframe после отправки формы, формулировка была бы другой.

Интересно, почему они не рекомендуют Ajax вместо этого, но это не вопрос. Я хочу следовать их рекомендациям или доказать им, что их рекомендации не имеют смысла.

Кто-нибудь может привести пример такой формы, которая "перенаправляет ответ" на iframe?
Или пример того, что спецификация действительно пыталась сказать?
Или это просто невозможно достичь?

1 ответ

Решение

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

Вот пример:

<script type="text/javascript">
function createCallback() {
  ...
}
</script>

<form action="..." method="POST" target="createResult">
  ...
</form>

<iframe name="createResult" style="display:none;" onload="createCallback()"></iframe>

Вот полный пример: https://svn.apache.org/repos/asf/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings-war/src/main/webapp/web/index.html

Другие вопросы по тегам