我尝试将Pjax添加到PHP站点,因为我想使用ajax和pushState动态加载内容,而Pjax似乎是最好的选择。
在我的site.js
文件中,我有:
$(document).pjax('nav li a', '.wrap');
我已经检查了其他答案,似乎JS没有错,我想知道是不是因为我使用的是PHP?
我从GitHub页面获取了jquery.pjax.js,虽然我收到了这个错误:
Uncaught TypeError: Object [object Object] has no method 'live'
在<head>
我有:
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script src="/js/jquery.cookie.js"></script>
<script src="/js/jquery.pjax.js"></script>
<script>
$(function(){
// pjax
$('ul a').pjax('#main')
})
</script>
答案 0 :(得分:2)
jQuery.live()在1.7中已弃用,并在1.9中删除。
从jQuery 1.7开始,不推荐使用.live()方法。使用.on()附加事件处理程序。旧版jQuery的用户应该使用.delegate()而不是.live()。
使用较旧的jQuery版本或更改代码,或使用库代码以使用.on()
看起来最新版本的pjax也解决了这个问题。见https://github.com/defunkt/jquery-pjax#legacy-api
答案 1 :(得分:1)
PHP与Pjax没有任何关系,它只是处理xhr请求的前端功能。举一个很好的例子,您可以尝试查看此演示页面:http://pjax.heroku.com/,查看源代码并从中学习:)