pjax php demo,thinkphp+Pjax Demo 实现无刷新改变URL的方式 | 学步园

TP3.1.3+Pjax Demo 实现无刷新改变URL的方式

Pjax相关原理及用法可以从下面的网站查看。

welefen版本:https://github.com/welefen/pjax

defunkt版本:https://github.com/defunkt/jquery-pjax [Demo用的是这个]

TP+Pjax Demo实现方法:

./Lib/Common.Action.class.php 【临时开启模板layout(true);的用法见:http://www.thinkphp.cn/info/183.html第三种方式】

class CommonAction extends Action {

protected function render($data) {

$this->assign('data', $data); //控制器传参到模板

if (array_key_exists('HTTP_X_PJAX', $_SERVER) && $_SERVER['HTTP_X_PJAX']) {

$this->display(); //浏览器支持Pjax功能,直接渲染输出页面

} else {

layout(true); //开启模板

$this->display(); //浏览器不支持Pjax功能或F5刷新页面,使用默认的链接响应机制(加载模板)

}

}

}

./Lib/IndexAction.class.php (继承于CommonAction)

class IndexAction extends CommonAction {

public function index() {

$data['name'] = 'ThinkPHP+Pjax Demo';

$this->render($data);

}

public function about() {

$data['name'] = '测试传参。';

$this->render($data);

}

}

./TPL/layout.html (模板中Pjax布署)

$(document).ready(function(){

$('#loading').hide(); //隐藏loading

});

$(document).pjax('a', '#pjax-container'); //内容替换的容器

$(document).on('pjax:send', function() {

$('#loading').show(); //显示loading

});

$(document).on('pjax:complete', function() {

$('#loading').fadeOut(1000); //隐藏loading效果

});

下载demo:

http://www.thinkphp.cn/code/download/id/466.html

另外补充一下bootstrap这个东西不错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值