Ajax LARAVEL 419 POST错误

Cow*_*irl 45 php ajax jquery laravel

我真的很感激一些帮助.我在这个论坛上发布了大量的解决方案,但我无法让它发挥作用.

我的ajax电话是这样的

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

我通过我的路线呼叫视图

Route::post('/company', 'Ajaxcontroller@loadContent');
Run Code Online (Sandbox Code Playgroud)

和控制器

public function loadContent()
    {
        return view('listing.company')->render();
    }
Run Code Online (Sandbox Code Playgroud)

我的company.blade.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
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误

POST http://127.0.0.1:8234/company 419 (unknown status)
Run Code Online (Sandbox Code Playgroud)

Dhi*_*raj 94

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

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

将其添加到您的ajax调用中

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

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

 protected $except = [
        'stripe/*',
    ];
Run Code Online (Sandbox Code Playgroud)


Adn*_*eed 8

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


Lul*_*ech 1

您没有任何要提交的数据!尝试将此行添加到您的 ajax 中:

data: $('form').serialize(),
Run Code Online (Sandbox Code Playgroud)

确保更改名称以匹配!

此外,您的数据应该在表单提交函数内提交。

您的代码应该如下所示:

data: $('form').serialize(),
Run Code Online (Sandbox Code Playgroud)