이번에는 laravel 프레임워크에서 pjax를 사용하는 경우에 대해 자세히 설명하겠습니다. laravel 프레임워크에서 pjax를 사용할 때 주의사항은 무엇인가요? 실제 사례를 살펴보겠습니다.
pjax가 무엇인지 독자들은 Baidu에 문의합니다.
준비:
1. jquery.pjax.js 파일을 다운로드하고 download
2를 클릭합니다. NProgress
3를 다운로드하고 레이아웃 파일에서 참조합니다. (프레임워크 공용 디렉터리 아래)
시작:
여기에서는 adminLTE 백엔드 템플릿을 사용하고 있습니다. 구체적인 사용법은 Laravel5에서 AdminLTE 사용을 참조하세요. kernel.php 파일에 코드 추가:
$ composer require spatie/laravel-pjax
페이지를 완료하려면 pjax 구성 상호 작용: (ps: 작성자는 pjax를 사용하여 사이트 전체의 페이지를 로드하므로 pjax는 전역 js 파일에 구성됩니다. 독자는 필요에 따라 별도로 구성할 수 있습니다.) // app/Http/Kernel.php
...
protected $middleware = [
...
\Spatie\Pjax\Middleware\FilterIfPjax::class,
];
첨부 파일:
작성자 레이아웃(layout.blade.php):$.pjax.defaults.timeout = 5000; $.pjax.defaults.maxCacheLength = 0; //配置可点击的<a>标签使用pjax $(document).pjax('a:not(a[target="_blank"])', { container: '#pjax-container'//配置pjax刷新容器 }); NProgress.configure({parent: '#pjax-container'}); //超时执行函数 $(document).on('pjax:timeout', function (event) { event.preventDefault(); });
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>AdminLTE</title> <!-- Tell the browser to be responsive to screen width --> <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"> <link rel="stylesheet" href="{{ asset('AdminLTE/bower_components/bootstrap/dist/css/bootstrap.min.css')}}"> <!-- Font Awesome --> <link rel="stylesheet" href="{{ asset('AdminLTE/bower_components/font-awesome/css/font-awesome.min.css') }}"> <!-- Ionicons --> <link rel="stylesheet" href="{{ asset('AdminLTE/bower_components/Ionicons/css/ionicons.min.css') }}"> <!-- select2 --> <link rel="stylesheet" href="{{ asset('AdminLTE/bower_components/select2/dist/css/select2.min.css') }}"> <!-- DataTables --> <link rel="stylesheet" href="{{ asset('AdminLTE/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css') }}"> <link rel="stylesheet" href="{{ asset('js_expand/dataTables.buttons/buttons.dataTables.min.css') }}"> <!-- Theme style --> <link rel="stylesheet" href="{{ asset('AdminLTE/dist/css/AdminLTE.min.css') }}"> <!-- AdminLTE Skins --> <link rel="stylesheet" href="{{ asset('AdminLTE/dist/css/skins/skin-blue.min.css') }}"> <!-- nprogress --> <link rel="stylesheet" href="{{ asset('js_expand/nprogress/nprogress.css') }}"> <!-- toastr --> <link rel="stylesheet" href="{{ asset('js_expand/toastr/build/toastr.min.css') }}"> <!-- sweetalert --> <link rel="stylesheet" href="{{ asset('js_expand/sweetalert/dist/sweetalert.css') }}"> <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> <!-- Google Font --> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic"> <!-- REQUIRED JS SCRIPTS --> <!-- jQuery 3 --> <script src="{{ asset('AdminLTE/bower_components/jquery/dist/jquery.min.js') }}"></script> <!-- jQuery 2 --> <script src="{{ asset('js_expand/jQuery/jQuery-2.1.4.min.js') }}"></script> <!-- Bootstrap 3.3.7 --> <script src="{{ asset('AdminLTE/bower_components/bootstrap/dist/js/bootstrap.min.js') }}"></script> <!-- Select2 --> <script src="{{ asset('AdminLTE/bower_components/select2/dist/js/select2.full.min.js') }}"></script> <!-- AdminLTE App --> <script src="{{ asset('AdminLTE/dist/js/adminlte.min.js') }}"></script> <!-- dataTables --> <script src="{{ asset('AdminLTE/bower_components/datatables.net/js/jquery.dataTables.min.js') }}"></script> <script src="{{ asset('AdminLTE/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js') }}"></script> <script src="{{ asset('js_expand/dataTables.lan.js') }}"></script> <script src="{{ asset('js_expand/dataTables.buttons/dataTables.buttons.min.js') }}"></script> <script src="{{ asset('vendor/datatables/buttons.server-side.js') }}"></script> </head> <body class="hold-transition skin-blue sidebar-mini"> <p class="wrapper"> <!-- Main Header --> @include('admin::partials.header') <!-- Left side column. contains the logo and sidebar --> @include('admin::partials.sidebar') <!-- Content Wrapper. Contains page content --> <p class="content-wrapper"> <!-- Main content --> <section class="content container-fluid" id="pjax-container"> @yield('content') </section> <!-- /.content --> </p> <!-- /.content-wrapper --> <!-- Control Sidebar --> @include('admin::partials.control') <!-- /.control-sidebar --> <!-- Main Footer --> @include('admin::partials.footer') </p> <!-- ./wrapper --> <script> var csrf_token = '{{ csrf_token() }}'; </script> <!-- nprogress --> <script src="{{ asset('js_expand/nprogress/nprogress.js') }}"></script> <!-- pjax --> <script src="{{ asset('js_expand/jquery-pjax/jquery.pjax.js') }}"></script> <!-- toastr --> <script src="{{ asset('js_expand/toastr/build/toastr.min.js') }}"></script> <!-- sweetalert --> <script src="{{ asset('js_expand/sweetalert/dist/sweetalert.min.js') }}"></script> <!-- admin.base --> <script src="{{ asset('js_expand/laravel-admin/admin.base.js') }}"></script> <!-- custom script--> <script> var selectedMenu = "{!! $requestUri !!}"; </script> </body> </html>
추천 도서:
React-router v4 사용 단계에 대한 자세한 설명
위 내용은 laravel 프레임워크의 pjax 사용 사례에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!