pjax = pushState + ajax
由于这是一个比较通用的组件,所以我把它写成了slim的Middleware (如果不知道middleware是什么或者怎么写,可以看这里)
大概原理是在slim框架渲染之后,输出之前,对dom结构进行分析,摘取出pjax所需要的部分,然后将这部分的内容作为response返回给浏览器的ajax请求
预览: 码农文库 点击分页可以看到效果
| 代码如下 | 复制代码 |
|
$app->add(new SupportPjaxMiddleware()); namespace Support; use SlimMiddleware; } private function fetchContents(Crawler $crawler, $container) { $content = $crawler->filter($container); if (!$content->count()) { $this->app->stop(); } return $content->html(); } private function setUriHeader(Response $response, Request $request) { $query = $request->get(); unset($query['_pjax']); $response->header('X-PJAX-URL', $request->getResourceUri() . '?' . http_build_query($query)); } } |
|
猪笼城寨手游
猪笼城寨游戏是非常好玩的一款模拟经营类型的手游,在这里玩家们
商道高手vivo版本
商道高手vivo版是一款商战题材的模拟经营手游,游戏画面精美
我在大清当皇帝手游
我在大清当皇帝手游是一款以清代为历史的模拟类手游,相信玩家们
解忧小村落最新版2024
解忧小村落游戏是非常好玩的一款休闲放置经营类型的手游,在这里
洋果子店rose2中文版
洋果子店rose2中文版是一款非常好玩的模拟经营手游,精美的