Я нахожусь в стадии разработки приложения, которое оборачивает беспорядок унаследованного кода. Для страницы, над которой я работаю, мне нужно заменить фрагменты div, созданные на моем бэкэнде, или же мне нужно полностью заменить всю страницу. Идея заключается в том, что существует динамически управляемый поток, который необходимо удовлетворить, прежде чем мы сможем перейти к устаревшему продукту.
Подстановка фрагментов работает нормально, как видно из приведенного ниже my_body_content
swap. Беда в том, что я пытаюсь сделать не фрагмент, а целую страницу, как при обмене "телом". На этом этапе страница становится пустой.
Я также хочу сделать что-то подобное с ошибками, возвращаемыми с сервера. Я хочу, чтобы мои хорошие REST 404
сообщения об ошибках отображались на экране, но для устаревшего продукта 404s отображаться на странице 404 устаревшего продукта.
Да, требования к этому проекту странные. Это не проблема, которую я могу исправить.
Вот мой вызов jQuery, имена которого изменены для защиты виновных:
$.ajax({
url: "places/things",
type: "POST",
data: JSON.stringify(someBadAssObject),
dataType: "text",
accepts: "text/html",
contentType: "application/json; charset=utf-8",
success: function(x) {
var fragcheck = $("#my_fragment", x);
if (fragcheck != null && fragcheck.length > 0)
$("#my_body_content").html(x);
else
$("body").html(x);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
error(errorThrown);
if (XMLHttpRequest.responseText.startsWith("<html>"))
$("body").html(XMLHttpRequest.responseText);
}
});