我是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会剥离outhermost标记?
谢谢。
我无法重现您的问题。我设置了两个页面,就像你的脚本会吐出一样
- http://jsbin.com/potuputaha/2/edit
- http://jsbin.com/tutebebufi/1/edit
当你跑步的时候http://jsbin.com/potuputaha/2,按下链接将用第二页的<a href="#">Refresh me</a>
替换该页。