jQuery pjax 应用简单示例


Posted in jQuery onSeptember 20, 2018

ajax缺点是破坏了浏览器的前进后退,因为ajax的请求不会留在历史记录中。pjax就不一样了,pjax被解释成ajax+pushState的封装,因为它把ajax的请求写入历史记录,并反映在地址栏,这样用户就能愉快地使用前进后退了。pjax有好几个实现方法,这里使用最常用的Jquery库,使用jquery.pjax.js。演示代码的服务器端使用PHP脚本语言。

Pjax用在那儿?就说百度云盘吧,这个大家肯定都用过。百度云盘PC端,在点击打开某个文件夹后会打开这个文件夹下的文件,其实显示文件的这个div就用到了pjax技术。地址栏变换,内容更换,但是却是一个ajax请求。等到后退的时候,不必重新请求上一层文件夹的内容,因为是存在在历史记录中的。而且,开发者还可以选择时候使用cache和storage缓存。

DEMO1:

客户端:

<!DOCTYPE html>
<html>
<head>
 <title>pjax</title>
 <meta charset="utf-8">
</head>
<body>
 <h1>My Site</h1>
 <div>
 Go to <a href="res1.php">第一页</a>.<a href="res2.php">第二页</a>
 </div>
 <div id="container"></div> 
</body>
<script src="../jquery-2.1.4.min.js"></script>
<script src="../jquery.pjax.js"></script>
<script type="text/javascript">
$(document).pjax('a', '#container')
</script>
</html>

服务器端:

res1.php

<?php 
echo "<div style='background:red;'>第一页</div>";

res2.php

<?php 
echo "<div style='background:red;'>第二页</div>";

解释:$(document).pjax('a', '#container')其中a是触发元素,#container是装载pjax返回内容的容器,下面也是这样。

DEMO2:

<!DOCTYPE html>
<html>
<head>
 <title>pjax</title>
 <meta charset="utf-8">
</head>
<body>
 <h1>My Site</h1>
 <div>
 Go to <a href="res1.php">第一页</a>.<a href="res2.php">第二页</a>
 </div>
 <div id="container"></div> 
</body>
<script src="../jquery-2.1.4.min.js"></script>
<script src="../jquery.pjax.js"></script>
<script type="text/javascript">
$(document).pjax('a', '#container')
</script>
</html>

客户端:

<!DOCTYPE html>
<html>
<head>
 <title>pjax</title>
 <meta charset="utf-8">
</head>
<body>
 <h1>My Site</h1>
 <div>
 <input type="button" id="clickMe" value="GO">
 </div>
 <div id="container"></div> 
</body>
<script src="../jquery-2.1.4.min.js"></script>
<script src="../jquery.pjax.js"></script>
<script type="text/javascript">
$(function(){
 $('#clickMe').click(function(){
 $.pjax({
  url: './res3.php',
  container: '#container'
 });
 });
});
</script>
</html>

服务器端代码:

res3.php:

<?php 
echo "<div style='background:red;'>第三页</div>";

源码:jQuery pjax

总结:

 此篇文章总结了一些大家常见的jQuery pjax 应用示例,喜欢的同学可以参考借鉴一下。

jQuery 相关文章推荐
jQuery中map函数的两种方式
Apr 07 jQuery
jQuery日期范围选择器附源码下载
May 23 jQuery
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
Jun 26 jQuery
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
Jul 22 jQuery
详解jquery选择器的原理
Aug 01 jQuery
jQuery DOM节点的遍历方法小结
Aug 15 jQuery
jquery引入外部CDN 加载失败则引入本地jq库
May 23 jQuery
jquery ajax加载数据前台渲染方式 不用for遍历的方法
Aug 09 jQuery
jQuery中each遍历的三种方法实例分析
Sep 07 jQuery
如何使用CSS3和JQuery easing 插件制作绚丽菜单
Jun 18 jQuery
详解webpack引用jquery(第三方模块)的三种办法
Aug 21 jQuery
详解jQuery的核心函数和事件处理
Feb 18 jQuery
jQuery easyui datagird编辑行删除行功能的实现代码
Sep 20 #jQuery
jQuery 点击获取验证码按钮及倒计时功能
Sep 20 #jQuery
jQuery使用each遍历循环的方法
Sep 19 #jQuery
jquery 动态遍历select 赋值的实例
Sep 12 #jQuery
jQuery实现为动态添加的元素绑定事件实例分析
Sep 07 #jQuery
jQuery插件实现的日历功能示例【附源码下载】
Sep 07 #jQuery
jQuery中each遍历的三种方法实例分析
Sep 07 #jQuery
You might like
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
2012/02/04 PHP
浅析PHP的静态成员函数效率更高的原因
2014/06/13 PHP
Windows下的PHP安装pear教程
2014/10/24 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
2016/03/17 PHP
PHP反射API示例分享
2016/10/08 PHP
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
2013/11/18 NodeJs
javascript删除字符串最后一个字符
2014/01/14 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
2014/02/10 Javascript
JS将光标聚焦在文本最后的实现代码
2014/03/28 Javascript
javascript 闭包详解
2015/07/02 Javascript
跟我学习javascript的执行上下文
2015/11/18 Javascript
Vue如何实现组件的源码解析
2017/06/08 Javascript
JavaScript函数绑定用法实例分析
2017/11/14 Javascript
ES6模板字符串和标签模板的应用实例分析
2019/06/25 Javascript
解决Vue中 父子传值 数据丢失问题
2019/08/27 Javascript
JavaScript判断数组类型的方法
2019/10/23 Javascript
video.js添加自定义组件的方法
2020/12/09 Javascript
[02:59]DOTA2完美大师赛主赛事第三日精彩集锦
2017/11/25 DOTA
Python各类图像库的图片读写方式总结(推荐)
2018/02/23 Python
Django中间件实现拦截器的方法
2018/06/01 Python
Python实现将Excel转换成xml的方法示例
2018/08/25 Python
pycharm修改文件的默认打开方式的步骤
2019/07/29 Python
python中的线程threading.Thread()使用详解
2019/12/17 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
Grid 宫格常用布局的实现
2020/01/10 HTML / CSS
美国高端婴童品牌:Hanna Andersson
2016/10/30 全球购物
视图的作用
2014/12/19 面试题
初级Java程序员面试题
2016/03/03 面试题
人力资源总监工作说明
2014/03/03 职场文书
幼师小班个人总结
2015/02/12 职场文书
会计岗位职责范本
2015/04/02 职场文书
社区党建工作总结2015
2015/05/13 职场文书
2016年全国爱眼日宣传教育活动总结
2016/04/05 职场文书
十大经典日本动漫排行榜 海贼王第三,犬夜叉仅第八
2022/03/18 日漫
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript