laravel无刷新加载之pjax

laravel-pjax:用于Laravel的pjax中间件 Laravel的pjax中间件 是一个jQuery插件,它利用ajax来加快页面的加载时间。 它只能通过从服务器获取特定的html片段来工作,而客户端更新仅发生在页面的某些部分。 该软件包提供了一个中间件,该中间件可以返回jQuery插件期望的响应。 有一个等效的,不需要jQuery。 Spatie是一家位于比利时安特卫普的网页设计机构。 您可以找到我们所有开源项目的概述。 支持我们 我们投入了大量资源来创建。 您可以通过来支持我们。 非常感谢您从家乡寄给我们一张明信片,其中提到您使用的是哪个包装。 您可以在上找到我们的地址。 我们将所有收到的明信片发布在。 安装 您可以通过composer安装该软件包: $ composer require spatie/laravel-pjax 接下来,您必须将\Spatie\Pjax\Middleware\FilterIfPjax -middleware添加到内核。 // app/Http/Kernel.php . . . protected $ middleware = [ . . . \ Spatie \ P 立即下载
1、简介
    Pjax 是一个 jQuery 插件,其作用是使用 ajax 来加速页面加载时间,工作原理是只从服务器获取指定 HTML 片段,
    然后客户端使用获取到的内容更新局部页面。(关于pjax可以搜索了解)
    Laravel Pjax 扩展包将 Pjax 集成到 Laravel 中,实现原理是提供一个中间件,返回 Pjax 期望的响应内容。
2、安装
通过 Composer 安装扩展包:$ composer require spatie/laravel-pjax

接下来需要在 Kernel.php 中注册中间件,这里我们将其注册到web中间件组:

// app/Http/Kernel.php
protected $middlewareGroups = [
    'web' => [
        ...
        \Spatie\Pjax\Middleware\FilterIfPjax::class,
    ],
    ...
];
3、使用

该扩展包提供的中间件会处理服务端返回的内容并将其转化为 Pjax 插件期望服务端返回的内容。这里我们以 php artisan make:auth 命令生成的默认视图文件为例演示其使用,首先我们修改路由文件 routes.php:

Route::group(['middleware' => 'web'], function (){
    Route::get('/index/ajaxcontent','IndexController@ajaxContent');// 加载页面
});

主视图文件 index\index.blade.php:

...
<a href="/index/ajaxcontent"> 要加载的页面链接 </a>
...
<!-- 添加 Pjax 设置:(必须有一个空元素放加载的内容) -->
<div class="main-content" id="pjax-container">
    @yield('content') //与另一个视图文件对应
</div>
...
<!-- JavaScripts建议将这些js下载到本地 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.pjax/1.9.6/jquery.pjax.min.js"></script>
<script>
    $(document).pjax('a', '#pjax-container');
    $(document).on("pjax:timeout", function(event) {
        // 阻止超时导致链接跳转事件发生
        event.preventDefault()
    });
</script>

控制器文件:

class IndexController extends Controller
{
    /**
     *  ajax加载页面
     */
    public function ajaxContent()
    {
        return view('content.index');
    }
}

要加载的视图文件 content\index.blade.php:

@extends('index.index')//这里继承的是主视图文件
@section('content')    //继承之后要加载的空间(页面地址)
    123123123123123    //要加载的页面
@stop

完成以上步骤,你会发现连续点击a标签页面不会发生跳转而直接进行刷新。
如果有其他链接的页面,那么只会刷新 @yield(‘content’) 里的内容,主体视图内容已经被过滤掉。

注:该扩展包会设置一个X-AJAX请求头以区别 pjax 请求和普通的 XHR 请求。在这种情况下,如果请求是 pjax,我们会跳过页面布局部分 HTML,只渲染页面主体部分内容。

Laravel 缓存失效

我们使用 Laravel Elixir 来管理前端缓存失效,你可以使用这种方法来让 Pjax 的缓存失效 —— 只需要引入elixir方法作为 x-pjax-version meta 的 content 即可:

<meta http-equiv="x-pjax-version" content="{{ elixir('css/app.css') }}">

如果是多个文件的话这使用:

<meta http-equiv="x-pjax-version" content="{{ elixir('css/app.css') . elixir('css/app2.css') }}">

这样的话,如果前端缓存失效,那么 Pjax 的缓存随之自动失效。

UE5.5 PCGFrameWork程序化内容生成实战指南 本文是UE5.5 PCGFrameWork程序化内容生成的实战指南。详细介绍了从点云采样、DynamicMesh几何生成到子图与蓝图扩展的核心工作流。通过实战案例演示如何利用该框架高效构建丰富的程序化场景,为技术美术、独立开发者及爱好者提供从入门到进阶的系统性指引。 阅读详情

相关推荐

Localizing LabVIEW Application to Different Languages

本文探讨了LabVIEW应用程序的多语言本地化实现方案。文章首先分析了LabVIEW对多语言的支持现状,指出其默认仅支持ANSI编码,对Unicode支持有限,且仅适配中英法德日韩六种语言。然后重点介绍了JKISimpleLocalization工具包的使用方法,该工具能导出/导入JSON词典文件,实现界面语言的实时切换。文章还结合实际工程案例,分析了该方案的局限性:部分控件不可翻译、切换速度较慢(33个界面需50秒)、小语种支持不足等。最后提供了完整的应用流程和工具包附件,包括词典文件转换工具和工程案例。

2301_80383260的博客 1409

Laravel-admin的Pjax问题

Laravel-admin的Pjax问题来龙去脉发现问题总结功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 来龙去脉 ...

不主动,不拒绝,不负责 4065

激光SLAM总结——Fast LIO / Fast LIO2 / Faster LIO

激光SLAM总结——Fast LIO / Fast LIO2 / Faster LIO 在之前的工作中有接触过LOAM,最近在工作中又接触到Faster LIO相关的工作,于是想着对Fast LIO / Fast LIO2 / Faster LIO这一系列工作进行一个简单的总结,以加深自己对激光SLAM算法的理解,之前总结过的一些和激光SLAM算法相关的博客还有,感兴趣的同学可以一起学习讨论: 激光SLAM总结——VLOAM / LIMO算法解析 激光SLAM总结——LIO-Mapping / LIOM /

weixin_44580210的博客 1万+

仿联想商城laravel实战---5、无刷新的增删改查(动态页面更新的三种方式(html))...

仿联想商城laravel实战---5、无刷新的增删改查(动态页面更新的三种方式(html)) 一、总结 一句话总结: 直接js增加删除修改html 控制器直接返回处理好的页面 用双向绑定插件比如vue 1、比如管理员有正常和禁用两种状态,我需要修改管理员状态,我如何修改(需要注册路由么)? 需要注册路由 总结:一些非路由组里面的方法都要注册,所以我们增加的一些乱七八糟的方法都...

weixin_33939843的博客 290

PSIM+PIL+CCS三剑客:手把手教你搞定DSP28335的软硬件联合调试

本文详细介绍了如何利用PSIM、PIL与CCS三款工具,实现DSP28335的软硬件联合调试。通过搭建兼容环境、从PSIM仿真生成PIL代码,再到实战联合调试与问题诊断,手把手指导开发者构建从虚拟模型到实际硬件的完整验证闭环,有效提升电力电子与电机驱动等领域的开发效率与可靠性。

weixin_29183637的博客 186

12S BMS 核心设计:基于 STM32H743+BQ34Z100 的 SOC/SOH 实现与全链路技术解析(上)

本文详细介绍了基于STM32H743和BQ34Z100的12串锂电池管理系统(BMS)设计。该系统采用主控制器+专用电量监测计架构,可实现高精度SOC(±1%)和SOH(±2%)估算,支持36V-50.4V电压范围。硬件设计包括电压/电流采样、温度测量、保护电路等模块,软件实现基于HAL库开发,采用DMA方式提高I2C通信效率。系统通过TI专利的ImpedanceTrack™算法实现三维融合估算,并具备完善的保护功能。该设计适用于电动工具、轻型电动车等中功率设备,具有精度高、响应快。

bother3000的博客 1394

如何用Qwen-Audio实现多语言语音识别?完整教程分享

Qwen-Audio是阿里云推出的通用音频语言模型,它能够处理包括人声、自然声音、音乐和歌曲在内的多种音频输入,并输出相应的文本内容。这个强大的多语言语音识别工具支持中、英、日、韩、德、西、意等多种语言,甚至能识别中文方言,为全球用户提供了统一的音频理解解决方案。😊 [![Qwen-Audio架构图](https://raw.gitcode.com/gh_mirrors/qw/Qwen-Aud

gitblog_00077的博客 566

2024年12月数据月报

2024年12月大数据月报,为您准备了阿里、字节、百度等大厂150多篇实践案例

SmartSi 2656

如何在Laravel中使用pjax

最近新项目需要用到pjax技术加载页面,提高响应速度,而我们使用的是新的laravel框架,在网上还没有laravel中使用pjax的详细指导,所以在这里做一下整理,与君共勉。 1.环境需求 LaravelPJAXJquery 1.7 2.部署和搭建 laravel的部署网上有很多教程,这里不再赘述。PJAX的部署很简单,只有一个js文件。在larave...

weixin_34248118的博客 377

Langchain cannot connect with Azure SQL Database

Langchain 无法连接到 Azure SQL 数据库

suiusoar 633

在 Laravel 5 中集成 Pjax 实现无刷新加载页面的扩展包 —— Laravel Pjax

pushstate  +  ajax   =pajax 一个分页查询的插件 1、简介 Pjax 是一个 jQuery 插件,其作用是使用 ajax 来加速页面加载时间,工作原理是只从服务器获取指定 HTML 片段,然后客户端使用获取到的内容更新局部页面。 Laravel Pjax 扩展包将 Pjax 集成到 Laravel 中,实现原理是提供一个中间件,返回 Pjax 期

will5451的博客 2997

LVGL core theme主题管理(lv_theme.c)

如果打开宏,主题的初始化是在显示设备注册时完成的。整个themes的实现放在目录下面。这里一共有三套主题(basic、default和mono)可供选择或者参考。源码中默认对接的是 default 主题,所以在中,看到的是调用default主题的接口。也就是说,如果需要更换主题,把这里面的接口换掉就可以了。或者要重新做一套主题,参考这些实现修改也就可以了。虽说有三套主题,但逻辑流程是一样的。主要完成两个工作:构造lv_theme_t结构体和初始化默认样多备用(style_init函数内实现)。构造。....

Bigan(安)的博客 3413

Laravel 5 的 PJAX 实现教程

Laravel 5 的 PJAX 实现教程 1、项目介绍 pjax-for-laravel-5 是一个为 Laravel 5 框架提供的 PJAX(PushState + AJAX)实现。PJAX 是一种通过 AJAX 请求页面内容并使用 HTML5 的 PushState API 更新浏览器历史记录的技术,从而实现无刷新页面加载的效果。这个项目旨在简化在 Laravel 5 中集成 PJAX 的...

gitblog_00087的博客 857

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

关于pjax的一些坑

静态页面中应用pjax看不到效果由于我是在laravel中应用的pjax,所以在layouts中的app.blade.php中引用了pjax和nprogress的相关js和css。建立公共代码pjax.blade.php@extends('layouts.app')@section('content') <div class="container" id="pjax-container">

梦想是成为一个弓箭手 9081

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

在 Laravel 5.1 中使用 Pjax

在 Laravel 5.* 的版本中,使用 Pjax 实现无刷新效果,以及酷炫的进度条 项目地址:https://github.com/yccphp/pjax-for-laravel-5 求 star 求 star 求 star 起因 群里面的朋友老是在问 laravel 怎么和 pjax 结合,于是今天早上答应了给大家写一篇文章,到准备写的时候,发现其...

weixin_34150224的博客 83

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

laravel 中的ajax_Laravel-Pjax 使用

Pjax Pjax介绍:现在很多网站( facebook, twitter)都支持这样的一种浏览方式, 当你点击一个站内的链接的时候, 不是做页面跳转, 而是只是站内页面刷新。 这样的用户体验, 比起整个页面都闪一下来说, 好很多。 其中有一个很重要的组成部分, 这些网站的ajax刷新是支持浏览器历史的, 刷新页面的同时, 浏览器地址栏位上面的地址也是会更改, 用浏览器的回退功能也能够回退到上一...

weixin_32175665的博客 253

**Pjax for Laravel 5 开源项目使用教程**

Pjax for Laravel 5 开源项目使用教程 本指南将引导您了解并使用 endachao/pjax-for-laravel-5 这一专为 Laravel 5 设计的PJAX实现库,以达成页面部分更新的流畅体验。我们将探讨其基本的目录结构、启动文件以及配置方法。 1. 项目目录结构及介绍 该仓库遵循Laravel的组件化结构,结合Pjax的特性和需求,主要关注点在于提供中间件和服务提供者。...

gitblog_00406的博客 345

pjax调用php,phpvital

READMEa pjax package for laravel5, include pjax and nprogress一个基于 laravel 5 的 pjax 扩展包 , 本项目基于 NProgress 传送门 和 Pjax.安装使用详细教程 Installation使用 Composer 引入:composer require phpvital/pjaxer打开 app/Http/Ker...

weixin_42292855的博客 141

Laravel与前端集成:现代化全栈开发实践

Laravel与前端集成:现代化全栈开发实践 本文深入探讨了Laravel与前端技术的深度集成方案,涵盖了JavaScript路由与变量传递、前端验证与表单处理、实时通信与Pjax无刷新加载,以及LiveWire与Vue.js的深度集成。文章详细介绍了Ziggy路由解决方案、Laravel JSValidation验证同步、WebSocket实时通信、Pjax无刷新加载技术,以及LiveWire与...

gitblog_00254的博客 427

Laravel-admin 前端路由管理终极指南:10分钟构建SPA级后台管理系统 [特殊字符]

想要在 Laravel 项目中快速构建功能强大的后台管理系统吗?Laravel-admin 正是您需要的解决方案!这个基于 Laravel 框架的后台管理扩展包,让您能在十分钟内搭建出功能完善的管理界面。今天,我们将深入探讨 Laravel-admin 的前端路由管理机制,以及如何将其优化为类似 SPA(单页应用)的用户体验。 ## 📊 Laravel-admin 路由架构解析 Larave

gitblog_00899的博客 409

pjax笔记

使用终于到的问题: 首先 如果每个页面对应一个js ,使用引入,点击加载相应页面的时候加载对应js,需要把写在pjax container div内部,不然不会加载。@extends('home.announcement') @section('information') 。。。。。是html文档 即使加在container内部,也有问题,第一次跳转该页面的时候会加

wbainngg123的专栏 1376

laravel框架中文手册_Laravel-Pjax 使用

Pjax Pjax介绍:现在很多网站( facebook, twitter)都支持这样的一种浏览方式, 当你点击一个站内的链接的时候, 不是做页面跳转, 而是只是站内页面刷新。 这样的用户体验, 比起整个页面都闪一下来说, 好很多。 其中有一个很重要的组成部分, 这些网站的ajax刷新是支持浏览器历史的, 刷新页面的同时, 浏览器地址栏位上面的地址也是会更改, 用浏览器的回退功能也能够回退到上一...

weixin_39640195的博客 990

pajax局部刷新导致引入的一些js插件不生效

最近在试用laravel-admin开发,后台页面开发的时候发现pajax局部刷新的时候可能会导致引入的js插件报错,需要页面刷新才能正常引入,造成页面效果比较差。 记录一下修改方法 在需要引入该js的页面使用js判断css/JS是否引入成功,如果该页面没有引入则使用js手动引入 代码如下 判断js或者CSS是否引入成功 function isInclude(name) { var js = /js$/i.test(name); var es = document

小菜鸟的博客 528

推荐项目:Laravel 5 的 PJAX 实现 - endachao/pjax-for-laravel-5

推荐项目:Laravel 5 的 PJAX 实现 - endachao/pjax-for-laravel-5 项目简介 在网页开发中,我们经常追求快速、流畅的用户体验。endachao/pjax-for-laravel-5 是一个针对 Laravel 5 框架实现的 Progressive JPEG (PJAX) 库。它允许你在不刷新整个页面的情况下,仅替换内容区域,从而提高网站性能和交互性。 技...

gitblog_00025的博客 756
上一篇: jq获取图片宽高
下一篇: Memcached教程
小Z笔记
博客等级 码龄9年 11粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值