jquery-pjax
PJAX 介绍
简介
Pjax 是一个 jQuery 插件,其作用是使用 ajax 来加速页面加载时间,工作原理是只从服务器获取指定 HTML 片段,然后客户端使用获取到的内容更新局部页面。
Laravel Pjax 扩展包将 Pjax 集成到 Laravel 中,实现原理是提供一个中间件,返回 Pjax 期望的响应内容。
安装
通过 Composer 安装扩展包:
$ composer require spatie/laravel-pjax
接下来需要在 Kernel.php
中注册中间件,这里我们将其注册到web中间件组:
// app/Http/Kernel.php
protected $middlewareGroups = [
'web' => [
...
\Spatie\Pjax\Middleware\FilterIfPjax::class,
],
...
];
使用
该扩展包提供的中间件会处理服务端返回的内容并将其转化为 Pjax 插件期望服务端返回的内容。
这里我们以 php artisan make:auth
命令生成的默认视图文件为例演示其使用,首先我们修改路由文件 routes.php
:
Route::group(['middleware' => 'web'], function () {
Route::get('/', function () {
return view('welcome');
});
Route::get('/home', 'HomeController@index');
Route::auth();
});
然后我们还需要修改默认布局文件 layouts/app.blade.php
,添加 Pjax 设置:
@yield('content')
{{-- --}}