Ajax LARAVEL 419 POST error(错误信息)

5 浏览
0 Comments

Ajax LARAVEL 419 POST error(错误信息)

我真的非常感激对此的帮助。\n我尝试了很多在这个论坛上发布的解决方案,但是仍然不能让它工作。\n我的 ajax 调用类似于:\n

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

\n我通过我的路由调用了视图:\n

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

\n和控制器:\n

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

\n我的 company.blade.php 文件是这样的:\n

    @foreach ($companies as $company)
            
{{$company->name}}
{{$company->streetaddress}} {{$company->postalcode}}

is available on @endforeach

\n我得到了这个错误:\n

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

0
0 Comments

在使用Ajax和Laravel进行POST请求时,遇到了419错误。这篇文章将解释为什么会出现这个问题以及如何解决它。

这个问题的原因是应用密钥失效。应用密钥是用于加密会话和其他安全功能的重要参数。当应用密钥失效时,Laravel会拒绝请求,导致419错误。

解决这个问题的方法是重新生成应用密钥。在命令行中运行php artisan key:generate命令,可以生成一个新的应用密钥,并将其保存在配置文件中。

通过重新生成应用密钥,可以解决419错误,并确保应用的安全性和正常运行。

0
0 Comments

Ajax LARAVEL 419 POST错误的原因是在进行POST请求时没有提交csrf_token。在你的POST方法中,你必须添加这个令牌以及其他变量。

解决这个问题的方法是,在进行POST请求时,确保提交csrf_token。以下是一个示例代码,展示了如何在Ajax请求中添加csrf_token:

$.ajax({
    url: 'your_post_url',
    type: 'POST',
    data: {
        _token: $('meta[name="csrf-token"]').attr('content'),
        // 其他变量
    },
    success: function(response) {
        // 请求成功的处理
    },
    error: function(xhr) {
        // 请求失败的处理
    }
});

在上面的代码中,`_token`是csrf_token的名称,`$('meta[name="csrf-token"]').attr('content')`用于获取页面中的csrf_token。

通过在POST请求中添加csrf_token,可以解决Ajax LARAVEL 419 POST错误。这样,你就可以成功地进行POST请求,并获取到正确的响应数据。

0
0 Comments

在使用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/*
    ];

需要注意的是,有些人会更改meta名称属性。在我所处理的项目中,meta名称属性被重命名为_token。

0