Я обрабатываю форму с помощью javascript, используя простой пример и сообщение aysnc. Однако по какой-то причине ответ AJAX POST, будь то перенаправление или полный html-ответ, отображается только в div, где находится форма. Я не могу это объяснить. Почему-то это происходит, но по ошибке.
Я пытался:
location.href = ("/relative/path");
document.location = ("/relative/path");
window.location.replace("/relative/path");
document.documentElement.innerHTML = xhr.responseText;
document.getElementsByTagName("html")[0].innerHTML = xhr.responseText;
document.write(xhr.responseText);
$("html").replaceWith(xhr.responseText );
Некоторые из них загружают весь контент на страницу, но только после краткогопоказ содержимого в форме div (например, двойное перенаправление, один раз внутри div, а затем для страницы). Если я просто отображаю HTML на странице, он просто остается внутри div, и больше ничего не происходит. Чем это вызвано? Если вы думаете, что код поможет, я могу опубликовать некоторые, но вопрос, вероятно, уже достаточно длинный.
ОБНОВЛЕНИЕ:
Перед отправкой
После отправки
![After](https://i.stack.imgur.com/iosUm.png)
В этом примере вы можете видеть, что сервер dev возвращает ошибку из-за исправляемой ошибки. Однако вы можете видеть, что обычно это сообщение об ошибке занимает оба деления.
ОБНОВЛЕНИЕ 2:
JavaScript был взят из здесь , сединственной модификацией является ответ перенаправления / записи в completeHandler
:
function completeHandler(event) {
_("progressBar").value = 0; //will clear progress bar after successful upload
// Insert document.write, location.href, location.replace, etc.
document.write(xhr.responseText);
}