Pjax不能使用PHP

时间:2013-08-12 13:10:59

标签: php javascript jquery pjax

我尝试将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>

2 个答案:

答案 0 :(得分:2)

jQuery.live()在1.7中已弃用,并在1.9中删除。

  

从jQuery 1.7开始,不推荐使用.live()方法。使用.on()附加事件处理程序。旧版jQuery的用户应该使用.delegate()而不是.live()。

http://api.jquery.com/live/

使用较旧的jQuery版本或更改代码,或使用库代码以使用.on()

看起来最新版本的pjax也解决了这个问题。见https://github.com/defunkt/jquery-pjax#legacy-api

答案 1 :(得分:1)

PHP与Pjax没有任何关系,它只是处理xhr请求的前端功能。举一个很好的例子,您可以尝试查看此演示页面:http://pjax.heroku.com/,查看源代码并从中学习:)