spatie/laravel-pjax

Laravel 5 的 pjax 中间件

2.4.0 2024-03-08 15:10 UTC

README

Latest Version on Packagist Software License GitHub Workflow Status Total Downloads

Pjax 是一个利用 AJAX 加速页面加载时间的 jQuery 插件。它通过只从服务器获取特定的 HTML 片段,并在页面的特定部分进行客户端更新来实现。

该包提供了一种中间件,可以返回 jQuery 插件期望的响应。

由 @barnabaskecskes 提供了一个无需 jQuery 的等价 Vue-PJAX 适配器 Vue-PJAX Adapter

Spatie 是一家位于比利时的安特卫普的网页设计公司。您可以在我们的网站上找到我们所有开源项目的概述 on our website

支持我们

我们投入了大量资源来创建 best in class open source packages。您可以通过 购买我们的付费产品之一 来支持我们。

我们非常感谢您从您的家乡寄给我们明信片,说明您正在使用我们的哪个包。您可以在我们的 联系页面 上找到我们的地址。我们将发布收到的所有明信片 在我们的虚拟明信片墙上

安装

您可以通过 composer 安装此包

$ composer require spatie/laravel-pjax

接下来,您必须将 \Spatie\Pjax\Middleware\FilterIfPjax 中间件添加到内核。

// app/Http/Kernel.php

...
protected $middleware = [
    ...
    \Spatie\Pjax\Middleware\FilterIfPjax::class,
];

使用

提供的中间件提供了 pjax 插件期望的服务器行为

设置了一个 X-PJAX 请求头,以区分 pjax 请求和常规 XHR 请求。在这种情况下,如果请求是 pjax,我们将跳过布局 HTML,只渲染容器的内部内容。

Laravel 缓存破坏提示

当使用 Laravel Mix 管理您的前端缓存破坏时,您可以使用它来破坏 pjax 的缓存。只需将 mix 方法作为 x-pjax-version 元标签的内容即可

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

多个文件

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

这样,每次您的前端缓存被破坏时,pjax 的缓存也会自动被破坏!

更新日志

请参阅 CHANGELOG 了解最近更改的更多信息。

测试

$ composer test

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全性

如果您发现有关安全的错误,请通过 [email protected] 发送电子邮件,而不是使用问题跟踪器。

鸣谢

此包中的中间件最初由 Jeffrey WayLaracasts 上的 pjax 课程编写。他的原始代码可以在 GitHub 上的 此存储库 中找到。

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件