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插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
Mar 28 jQuery
jquery实现一个全局计时器(商城可用)
Jun 30 jQuery
jquery.validate.js 多个相同name的处理方式
Jul 10 jQuery
使用jQuery实现动态添加小广告
Jul 11 jQuery
使用jQuery实现鼠标点击左右按钮滑动切换
Aug 04 jQuery
jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例
Oct 19 jQuery
jQuery图片查看插件Magnify开发详解
Dec 25 jQuery
集成vue到jquery/bootstrap项目的方法
Feb 10 jQuery
Jquery的autocomplete插件用法及参数讲解
Mar 12 jQuery
详解jQuery-each()方法
Mar 13 jQuery
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
Nov 07 jQuery
原生jQuery实现只显示年份下拉框
Dec 24 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
BBS(php &amp; mysql)完整版(八)
2006/10/09 PHP
PHP 存取 MySQL 数据库的一个例子
2006/10/09 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
一个实用的php验证码类
2017/07/06 PHP
CLASS_CONFUSION JS混淆 全源码
2007/12/12 Javascript
jquery 倒计时效果实现秒杀思路
2013/09/11 Javascript
js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动
2014/04/29 Javascript
分享33个jQuery与CSS3实现的绚丽鼠标悬停效果
2014/12/15 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
2015/02/05 Javascript
jQuery实现渐变下拉菜单的简单方法
2015/03/11 Javascript
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
Jquery中巧用Ajax的beforeSend方法
2016/01/20 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
泛谈JS逻辑判断选择器 || &amp;&amp;
2019/05/24 Javascript
vue实现循环滚动列表
2020/06/30 Javascript
[02:44]DOTA2英雄基础教程 钢背兽
2013/12/19 DOTA
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
决策树的python实现方法
2014/11/18 Python
Python脚本实时处理log文件的方法
2016/11/21 Python
简单谈谈Python中的json与pickle
2017/07/19 Python
numpy排序与集合运算用法示例
2017/12/15 Python
python的Crypto模块实现AES加密实例代码
2018/01/22 Python
Python入门之后再看点什么好?
2018/03/05 Python
python梯度下降法的简单示例
2018/08/31 Python
Python字典推导式将cookie字符串转化为字典解析
2019/08/10 Python
使用pth文件添加Python环境变量方式
2020/05/26 Python
Jupyter Notebook 远程访问配置详解
2021/01/11 Python
澳大利亚运动鞋零售商:The Athlete’s Foot
2018/11/04 全球购物
斯图尔特·韦茨曼鞋加拿大官网:Stuart Weitzman加拿大
2019/10/13 全球购物
新电JAVA笔试题目
2014/08/31 面试题
会计师职业生涯规划范文
2014/02/18 职场文书
共筑中国梦演讲稿
2014/04/23 职场文书
学习十八大标语
2014/10/09 职场文书
大学军训决心书
2015/02/05 职场文书
2015大一新生军训感言
2015/08/01 职场文书
python实现三阶魔方还原的示例代码
2021/04/28 Python