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和CSS3实现APPLE TV海报视差效果
Jun 16 jQuery
基于jQuery实现的Ajax 验证用户名唯一性实例代码
Jun 28 jQuery
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
Jul 22 jQuery
基于jQuery实现图片推拉门动画效果的两种方法
Aug 26 jQuery
jQuery动态添加li标签并添加属性和绑定事件方法
Feb 24 jQuery
jQuery实现基本动画效果的方法详解
Sep 06 jQuery
Jquery和CSS实现选择框重置按钮功能
Nov 08 jQuery
jQuery时间戳和日期相互转换操作示例
Dec 07 jQuery
基于jquery实现的tab选项卡功能示例【附源码下载】
Jun 10 jQuery
jQuery实现文本显示一段时间后隐藏的方法分析
Jun 20 jQuery
Jquery使用each函数实现遍历及数组处理
Jul 14 jQuery
jQuery实现回到顶部效果
Oct 19 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
一个阿拉伯数字转中文数字的函数
2006/10/09 PHP
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
2007/01/10 PHP
PHP对象链式操作实现原理分析
2016/10/09 PHP
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
jquery 将disabled的元素置为enabled的三种方法
2009/07/25 Javascript
javascript parseInt与Number函数的区别
2010/01/21 Javascript
Javascript常用字符串判断函数代码分享
2014/12/08 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
悬浮广告方法日常收集整理
2016/03/18 Javascript
如何利用Promises编写更优雅的JavaScript代码
2016/05/17 Javascript
浅谈js的ajax的异步和同步请求的问题
2016/10/07 Javascript
AngularJS入门教程之多视图切换用法示例
2016/11/02 Javascript
利用JS实现简单的日期选择插件
2017/01/23 Javascript
nodejs入门教程一:概念与用法简介
2017/04/24 NodeJs
详解Vue快速零配置的打包工具——parcel
2018/01/16 Javascript
jQuery实现轮播图效果demo
2020/01/11 jQuery
js验证账户名是否重复
2020/05/26 Javascript
解决Echarts 显示隐藏后宽度高度变小的问题
2020/07/19 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
2020/08/04 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
Python2.x利用commands模块执行Linux shell命令
2016/03/11 Python
Python建立Map写Excel表实例解析
2018/01/17 Python
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
python实现年会抽奖程序
2019/01/22 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
python使用装饰器作日志处理的方法
2019/07/11 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
Manuka Doctor美国官网:麦卢卡蜂蜜和蜂毒护肤
2016/12/25 全球购物
在阿联酋购买翻新手机和平板电脑:Teckzu
2021/02/12 全球购物
花店创业计划书范文
2014/02/07 职场文书
工作推荐信范文
2014/05/10 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
普通党员整改措施
2014/10/24 职场文书
2014会计年终工作总结
2014/12/20 职场文书
大学毕业论文致谢词
2015/05/14 职场文书