阿贾克斯·拉拉维尔 419 开机自检错误

2022-08-30 09:28:26

我真的非常感谢在这方面的一些帮助。我尝试了这个论坛上发布的大量解决方案,但我无法让它工作。

我的ajax调用是这样的

$(document).ready(function() {
    $("#company").click(function() {
        $.ajax({
            type: "POST",
            dataType:'html',
            url : "/company",
            success : function (data) {
                $("#result").html(data);
            }
        });
    });
});

我正在通过我的路线呼叫视图

Route::post('/company', 'Ajaxcontroller@loadContent');

和控制器

public function loadContent()
    {
        return view('listing.company')->render();
    }

我公司.刀片.php是

    @foreach ($companies as $company)
            <div class="posting-description">
            <h5 class="header"><a href="#"></a>{{$company->name}}
            </h5>
            <h5 class="header"> {{$company->streetaddress}} {{$company->postalcode}}</h5>  
            <p class="header">
             <span class="red-text"> <?= $service; ?> </span> is available on <span class="green-text"><?php echo $date; ?></span>
           </p>
    @endforeach

我收到此错误

POST http://127.0.0.1:8234/company 419 (unknown status)

答案 1

Laravel 419 post错误通常与api.php和令牌授权有关

Laravel 为应用程序管理的每个活动用户会话自动生成一个 CSRF“令牌”。此令牌用于验证经过身份验证的用户是否是实际向应用程序发出请求的用户。

将其添加到您的 ajax 调用中

$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});

或者,您可以在 VerifyCSRF 令牌中间件中排除某些 URI

 protected $except = [
        '/route_you_want_to_ignore',
        '/route_group/*
    ];

答案 2

419错误发生在您不发布csrf_token。在 post 方法中,必须将此令牌与其他变量一起添加。


推荐