Как добиться эффекта, аналогичному
require `content.php`;
с помощью AJAX? Данная задача актуальна, например, при создании вкладок.
В content.php
находится, большей частью, html-код, ну может быть с небольшим добавлением php-кода. Конечно, можно весь HTML-код запихнуть в echo
(во всех примерах AJAX, что я видел, так и делалось), но тогда теряется подцветка HTML-синтаксиса, что недопустимо.
Для начала стоит разделить весь проект на 2 части.
1 - Серверная часть (backend)
2 - Клиентская часть (frontend)
Если пользователь уже открыл страницу, серверная часть уже закончила свою работу и теперь только клиентская часть может работать дальше. Ничто не мешает клиентской части обращаться к серверной с помощью AJAX.
Из вопроса не совсем понятно, какого результата необходимо добиться. Подозреваю, что есть php файл, который должен вернуть HTML страницу, которую, в свою очередь клиент получит посредством AJAX.
Для подсветки синтаксиса со вставками PHP кода не нужно хранить весь HTML в переменных или строках, лучше использовать вставки или шаблонизатор. Ниже небольшой пример работы с шаблонами без шаблонизатора.
<?php
$title = 'Заголовок страницы';
$body = 'Тело страницы';
$list = [1=>'Первый',2=>'Второй',3=>'Третий'];
?>
<html>
<body>
<h1><?=$title?></h1>
<p><?=$body?></p>
<select name="select">
<?php foreach ($list as $value=>$title):?>
<option value="<?=$value?>"><?=$title?></option>
<?php endforeach;?>
</select>
</body>
</html>
Нашел решение. Метод load()
библиотеки jQuery
(а без неё использование AJAX довольно громоздкое) позволяет загрузить содержимое файла внутрь указанного тэга.
$('#container').load('content/content.php');
Подробнее можно почитать здесь.
Немного покурочил класс Walker_Nav_Menu в worpress, цель была заменить стандартные классы меню, на своиВот код:
Предположим, у нас есть сайт, который парсит данные с другого сайтаПользователь авторизован на другом сайте и зашел в аккаунт