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 submit()不能提交表单的解决方法
Apr 24 jQuery
jquery实现放大镜简洁代码(推荐)
Jun 08 jQuery
基于jQuery中ajax的相关方法汇总(必看篇)
Nov 08 jQuery
jquery-file-upload 文件上传带进度条效果
Nov 21 jQuery
利用jquery如何从json中读取数据追加到html中
Dec 01 jQuery
jQuery实现手机号正则验证输入及自动填充空格功能
Jan 02 jQuery
基于jQuery实现的设置文本区域的光标位置
Jun 15 jQuery
详解jQuery如何实现模糊搜索
May 10 jQuery
jQuery属性选择器用法实例分析
Jun 28 jQuery
JavaScript前端页面搜索功能案例【基于jQuery】
Jul 10 jQuery
jQuery擦除插件eraser使用方法详解
Jan 11 jQuery
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
Mar 20 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
后宫无数却洁身自好的男主,唐三只爱小舞
2020/03/02 国漫
php基础知识:类与对象(1)
2006/12/13 PHP
PHP下几种删除目录的方法总结
2007/08/19 PHP
如何让搜索引擎抓取AJAX内容解决方案
2014/08/25 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
2019/10/10 PHP
JavaScript的变量作用域深入理解
2009/10/25 Javascript
EXTJS FORM HIDDEN TEXTFIELD 赋值 使用value不好用的问题
2011/04/16 Javascript
JS判断当前日期是否大于某个日期的实现代码
2012/09/02 Javascript
js里取容器大小、定位、距离等属性搜集整理
2013/08/19 Javascript
基于JavaScript怎么实现让歌词滚动播放
2015/11/03 Javascript
JQuery实现网页右侧随动广告特效
2016/01/17 Javascript
js实现简单排列组合的方法
2016/01/27 Javascript
详解Javascript函数声明与递归调用
2016/10/22 Javascript
vue.js学习笔记:如何加载本地json文件
2017/01/17 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
2018/02/18 jQuery
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
2021/01/30 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
vue解决使用$http获取数据时报错的问题
2019/10/30 Javascript
Node.js API详解之 os模块用法实例分析
2020/05/06 Javascript
Python冒泡排序注意要点实例详解
2016/09/09 Python
python 全局变量的import机制介绍
2017/09/07 Python
用TensorFlow实现戴明回归算法的示例
2018/05/02 Python
python批量修改文件编码格式的方法
2018/05/31 Python
python批量爬取下载抖音视频
2019/06/17 Python
使用python实现多维数据降维操作
2020/02/24 Python
python使用re模块爬取豆瓣Top250电影
2020/10/20 Python
HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法
2013/04/24 HTML / CSS
使用phonegap进行提示操作的具体方法
2017/03/30 HTML / CSS
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
Book Depository美国:全球领先的专业网上书店之一
2019/08/14 全球购物
Linux文件系统类型
2012/02/15 面试题
2014个人四风对照检查材料思想汇报
2014/09/18 职场文书
2014年卫生监督工作总结
2014/12/09 职场文书
西安兵马俑导游词
2015/02/02 职场文书
第一书记观后感
2015/06/08 职场文书
Windows11插耳机没反应怎么办? win11耳机没声音的多种解决办法
2021/11/21 数码科技