编辑:(非)工作示例:
http://www.jogos-mmorpg.com/pjax.html
我正在尝试重现一个非常基本的 PJAX 示例,如自述文件( https://github.com/defunkt/jquery-pjax )中所述
这是 index.html:
<!DOCTYPE html>
<html>
<head>
<script src="http://pjax.heroku.com/jquery.js"></script>
<script src="http://pjax.heroku.com/jquery.pjax.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(document).pjax('a', '#pjax-container')
});
</script>
</head>
<body>
<h1>My Site</h1>
<div class="container" id="pjax-container">
Go to <a href="./next.html">next page</a>.
</div>
</body>
</html>
这是 next.html
<p>next page</p>
当我点击“下一页”链接时,我只是转到 next.html 并且我在屏幕上看到的唯一内容是“下一页”段落,就像我完全禁用 pjax 一样。
我错过了什么?
最佳答案
您是否阅读了整个示例页面?因为我会认为你没有,因为你没有在 OP 中提到它。
更具体地说,它说:
对我来说似乎 pjax
不是那么容易使用。您需要处理 X-PJAX
header 的发送。
更新: 我已经在您的网站上测试了以下代码(使用 Firefox 控制台),并且它正在工作:
$(document).ready(function() {
$("#pjax-container a").pjax(
{
container: "#pjax-container",
timeout: 5000
}
);
});
请注意以下事项:$("#pjax-container a")
上,它使用 pjax()
函数。 #pjax-container
作为替换目标。 timeout: 5000
,因为我读到 pjax
最初的 timeout
设置非常低,所以它在慢速网络服务器上不起作用。 另一个注意事项:我注意到
pjax
还将 window.location.href
更新为新的 url,请自行决定是否需要这种行为。关于jquery - 无法让基本的 pjax 示例工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20441820/