簡體   English   中英

Laravel 5.4-pjax響應錯誤的不可處理實體

[英]Laravel 5.4 - pjax response an error Unprocessable Entity

我使用了laravel / spatie包中的 laravel pjax插件

當我單擊“登錄和注冊”鏈接(基本laravel身份驗證)時,它可以正常運行。 Pjax在工作,但是當我嘗試登錄時顯示錯誤。

(1/1) HttpException
in Application.php (line 926)
at Application->abort(422, '', array())
in helpers.php (line 30)
at abort(422)
in FilterIfPjax.php (line 87)
at FilterIfPjax->fetchContainer(object(Crawler), '#body')
in FilterIfPjax.php (line 54)
at FilterIfPjax->filterResponse(object(Response), '#body')
in FilterIfPjax.php (line 35)
at FilterIfPjax->handle(object(Request), object(Closure))
in Pipeline.php (line 148)
...

我的代碼中缺少什么? 我不知道如何解決此錯誤。 任何人都可以解釋為什么會發生此錯誤?

<script type="text/javascript">
        $(document).ready(function(){
            if ($.support.pjax) {
                $.pjax.defaults.timeout = 2000; // time in milliseconds
                $(document).pjax('a', '#body');
                $(document).on('submit', 'form[data-pjax]', function(event) {
                    $.pjax.submit(event, '#body');
                });
            }
        });
    </script>

這是使用pjax提交表單的正確方法(無需重新加載頁面)嗎?

這是我的應用布局

<!DOCTYPE html>
<html lang="{{ app()->getLocale() }}">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- CSRF Token -->
    <meta name="csrf-token" content="{{ csrf_token() }}">

    <title>{{ config('app.name', 'Laravel') }}</title>

    <!-- Styles -->
    <link href="{{ asset('css/app.css') }}" rel="stylesheet">
    <!-- Scripts -->
    <script src="{{ asset('js/app.js') }}"></script>
    <script type="text/javascript" src="{{asset('js/jquery.pjax.js')}}"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            if ($.support.pjax) {
                $.pjax.defaults.timeout = 2000; // time in milliseconds
                $(document).pjax('a', '#body');
                $(document).on('submit', 'form[data-pjax]', function(event) {
                    $.pjax.submit(event, '#body');
                });
            }
        });
    </script>
</head>
<body id="body">
    ....
   @yield('content')
</body>
</html>

我發現當我刪除pjax插件並嘗試以名義上登錄時它顯示了一個錯誤

SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)

所以我意識到我忘了在.env文件中配置DB_USERNAME和DB_PASSWORD。

我輸入了正確的USERNAME和PASSWORD,然后重新安裝了pjax插件。 它運作完美。 :)

我認為,如果請求中有錯誤,FilterIfPjax類會引發錯誤422。我不確定:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM