на данный момент я использую iframes на своем веб-сайте для отображения контента с других страниц, таких как формы. Проблема, которая у меня есть, находится на странице входа в систему, когда пользователь входит в систему с формой внутри iframe, она просто показывает следующую страницу внутри login iframe – что совершенно бесполезно.
Я слышал, что AJAX гораздо более гибкий и динамичный для таких вещей, но я не могу понять, как его использовать, я просмотрел некоторые обучающие программы, но, похоже, не так далеко показываю страницу внутри стр.
Как я могу заменить мой iframe на AJAX?
Заранее спасибо 🙂
Поскольку вы не будете использовать iFrames, вам понадобится контейнер для размещения вашей страницы. В AJAX обычно используется элемент <div> для хранения этих данных. Кроме того, jQuery или другая библиотека Javascript, поддерживающая AJAX, упростит вашу жизнь с помощью проверенного кода, чтобы вы могли сосредоточиться на своей бизнес-логике, а не на nitty gritty. Итак, в вашем HTML вам понадобится элемент контейнера:
<div id="otherpage"></div>
Затем в включенном файле javascript вы можете использовать этот jQuery:
$(document).ready(function() { $('#otherpage').load('otherpage.html', function() { alert('Load was performed.'); }); });
Конечно, прежде чем использовать это, убедитесь, что вы также включили jQuery. Этот учебник поможет вам начать работу с jQuery.
Проблема, с которой вы сталкиваетесь, больше связана с ajax, чем с любой другой.
Попробуйте «предварительно загрузить» ваши js-функции в хосте html (а не в том, который загружается через ajax) и просто загрузите определенный html-рендеринг через ajax.
Затем используйте метод jQuery «.done (function (data) {…» для вызова функций js, которые вы «предварительно загрузили» << (включены в базовый html / document), как только они будут готовы к работе.
Надеюсь, эта помощь, С уважением.
Попробуйте что-то вроде этого:
$ (Документ) .ready (функция () {
$ .ajax (
url: './your_script.php',
контекст: «документ»,
) .done (функция (данные) {
$ ('# your_div'). html (данные);
your_js_function ();
})
});
// ---- main html
function your_js_function () {
alert ('got it!');
};