Я начал новую работу, и часть проекта, над которым я работаю, имеет очень странную структуру. Каждая страница является страницей .Net aspx, и она загружается просто отлично, но на самом деле ничего не делается во время загрузки. Все действительно загружается из обработчика jquery document.onready.
Что еще более ... интересно ... это то, что обработчик onready вызывает некоторые вызовы ajax, которые сбрасывают целые страницы .aspx в div на странице, но сначала он удаляет несколько частей возвращаемой страницы. Это «волшебный» скрипт, который предыдущий программист выполнял на всех возвращенных html от своих вызовов ajax:
function CleanupResponseText(responseText, uniqueName) {
responseText = responseText.replace("theForm.submit();", "SubmitSubForm(theForm, $(theForm).parent());");
responseText = responseText.replace(new RegExp("theForm", "g"), uniqueName);
responseText = responseText.replace(new RegExp("doPostBack", "g"), "doPostBack" + uniqueName);
return responseText;
}
Затем он перехватывает любой вид обратной передачи формы и запускает свою собственную функцию отправки формы:
function SubmitSubForm(form, container) {
//ShowLoading(container);
$(form).ajaxSubmit( {
url: $(form).attr("action"),
success: function(responseText) {
$(container).html(CleanupResponseText(responseText, form.id));
$("form", container).css("margin-top", "0").css("padding-top", "0");
//HideLoading(container);
}
}
);
}
Неужели я не думаю, что это менее чем оптимально? Я имею в виду, как браузер извлекает html, head и другие теги, которые не имеют ничего общего с тем, что вы действительно пытаетесь вставить в этот div?
Кроме того, он возвращает такие вещи, как элементы управления asp: gridview и связанное с ним представление, которое может быть довольно большим, если его набор данных большой.
Кто-нибудь видел это раньше?