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仿微信聊天界面
May 06 jQuery
jQuery Jsonp跨域模拟搜索引擎
Jun 17 jQuery
使用 jQuery 实现表单验证功能
Jul 05 jQuery
使用jQuery实现购物车结算功能
Aug 15 jQuery
jQuery实现用户信息表格的添加和删除功能
Sep 12 jQuery
jQuery实现倒计时功能 jQuery实现计时器功能
Sep 19 jQuery
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
May 26 jQuery
jQuery实现的页面详情展开收起功能示例
Jun 11 jQuery
jQuery+PHP实现上传裁剪图片
Jun 29 jQuery
jQuery+vue.js实现的多选下拉列表功能示例
Jan 15 jQuery
jQuery操作元素追加内容示例
Jan 10 jQuery
jQuery Datatables 动态列+跨列合并实现代码
Jan 30 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
UTF8编码内的繁简转换的PHP类
2009/07/09 PHP
PHP实现数组递归转义的方法
2014/08/28 PHP
11个用于提高排版水平的基于jquery的文字效果插件
2012/09/14 Javascript
jquery 实现返回顶部功能
2014/11/17 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
2015/05/14 Javascript
纯JS实现轮播图
2017/02/22 Javascript
js实现下拉框效果(select)
2017/03/28 Javascript
微信小程序动态增加按钮组件
2018/09/14 Javascript
Vue3.0结合bootstrap创建多页面应用
2019/05/28 Javascript
node.js express框架简介与实现
2019/07/23 Javascript
vue addRoutes路由动态加载操作
2020/08/04 Javascript
JavaScript中的函数式编程详解
2020/08/22 Javascript
[15:35]教你分分钟做大人:天怒法师
2014/10/30 DOTA
Python ljust rjust center输出
2008/09/06 Python
Python操作MySQL数据库9个实用实例
2015/12/11 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
2016/09/11 Python
[原创]pip和pygal的安装实例教程
2017/12/07 Python
Python常用的json标准库
2019/02/19 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
Django 重写用户模型的实现
2019/07/29 Python
django formset实现数据表的批量操作的示例代码
2019/12/06 Python
Python3 元组tuple入门基础
2020/02/09 Python
logging level级别介绍
2020/02/21 Python
Python 处理日期时间的Arrow库使用
2020/08/18 Python
Python+MySQL随机试卷及答案生成程序的示例代码
2021/02/01 Python
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
EVE LOM英国官网:全世界最好的洁面膏
2017/10/30 全球购物
C++:局部变量能否和全局变量重名
2014/03/03 面试题
装修致歉信
2014/01/15 职场文书
入学生会自荐书范文
2014/02/05 职场文书
优秀应届毕业生自荐书
2014/06/29 职场文书
政协委员个人总结
2015/03/03 职场文书
2015年医院工作总结范文
2015/04/09 职场文书
工作经历证明范本
2015/06/15 职场文书
利用python实时刷新基金估值(摸鱼小工具)
2021/09/15 Python
Python学习之迭代器详解
2022/04/01 Python