Я новичок в jquery-pjax. Сейчас я разрабатываю гибкую (без обновления и загрузки контента асинхронную) единую веб-страницу с использованием PHP и jQuery.
Но некоторые проблемы возникают на моей странице при использовании jquery-pjax. Одна из проблем заключается в том, что jquery-pjax автоматически удаляет внешний тег в асинхронных ответах.
Позвольте мне увидеть мой исходный код.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="jquery.min.js"></script>
<script src="jquery.pjax.min.js"></script>
<script>
$(document).pjax('#pjax-container a', '#pjax-container', {
timeout: 1300,
replace: true,
fragment: 'body'
});
</script>
</head>
<body>
<?php
if (!isset($_SERVER['HTTP_X_PJAX']))
{
?>
<h1>A jquery-pjax test page.</h1>
<div id="pjax-container">
<?php
}
?>
<a href=".">Refresh</a>
<?php
if (!isset($_SERVER['HTTP_X_PJAX']))
{
?>
</div>
<?php
}
?>
</body>
</html>
С точки зрения только исходного кода, кажется, что нет никаких проблем. Но когда запустить его и нажать на ссылку обновления, ссылка будет удалена, и там будет только ее заголовок. В моем браузере я увидел сетевой монитор. В новом асинхронном ответе есть ссылка. (тело: <body><a href=".">Refresh</a></body>
) Но я видел монитор элементов, там нет ссылки … (тело: <div id="pjax-container">Refresh</div>
)
Вопрос : Почему jquery-pjax лишает самого внешнего тега?
Благодарю.
Я не могу воспроизвести вашу проблему. Я установил две страницы, как ваш сценарий выплюнул
И когда вы запускаете его http://jsbin.com/potuputaha/2, нажатие на ссылку заменит страницу с <a href="#">Refresh me</a>
со второй страницы.
Других решений пока нет …