на данный момент я использую 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!'); };