Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在laravel 5.4中禁用某些路线的csrf toke?不起作用_Php_Laravel_Laravel 5_Laravel 5.4 - Fatal编程技术网

Php 在laravel 5.4中禁用某些路线的csrf toke?不起作用

Php 在laravel 5.4中禁用某些路线的csrf toke?不起作用,php,laravel,laravel-5,laravel-5.4,Php,Laravel,Laravel 5,Laravel 5.4,我正在为我的网站制作一个API,API将用于获取、发布、删除一些数据,但要发布,需要csrf令牌,它无法从第三方网站生成,因此我必须禁用某些路由的csrf令牌。在文档中,它说要在verifycsrftoken.php中添加以下内容: protected $except = [ 'leads', 'leads/*' ]; 但这在laravel 5.4中不起作用。 以下是我的示例路线: Route::post('leads/{id}', ['as'=>'leads']);

我正在为我的网站制作一个API,API将用于获取、发布、删除一些数据,但要发布,需要csrf令牌,它无法从第三方网站生成,因此我必须禁用某些路由的csrf令牌。在文档中,它说要在verifycsrftoken.php中添加以下内容:

protected $except = [
    'leads',
    'leads/*'
];
但这在laravel 5.4中不起作用。 以下是我的示例路线:

Route::post('leads/{id}', ['as'=>'leads']);

任何帮助都将不胜感激。

您发布的代码应该可以工作

正如您在评论中所说,错误是MethodNotAllowedHttpException。当您尝试访问错误类型的url时,将在中引发该错误。为了通过POST发送表单,您需要在表单标签中注明

<form method="POST" action="{{ url('leads/'.$lead->id) }}>

这应该行得通。您仍然收到CSRF异常?它说“MethodNotAllowedHttpException”,这可能是POST/GET不匹配。你的表单标签看起来像什么?@Ahmadza这不是CSRF的问题。这是一个单独的问题。@ceejayoz这不是那个问题的重复,他们的上下文和我的完全不同…command app/Http/kernal.php in\app\Http\Middleware\VerifyCsrfToken::class无需使用csrf token抱歉,但我说我从第三方网站调用api,第三方网站无法为我的主网站生成csrf令牌,我通过ajax调用api。确保您是从POST而不是GET then调用api。解决了,我只是通过键入url来检查它是否工作,它不是,但使用ajax,它工作了…键入浏览器的url将通过GET执行请求。你可以用邮递员检查邮递路线。
{!! csrf_field() !!}