使用 laravel 的 Dropzone,它显示 419 错误
Dropzone with laravel, it displays 419 error
我已经测试了我所看到的所有内容,但它对我不起作用,我正在使用带 laravel 的 dropzone,我的问题是它显示 419 错误,我知道这与 csrf 有关令牌,但我无法修复它。
我的HTML代码是这样的:
<div id="my-dropzone" class="dropzone"></div>
我的javascript代码是这样的:
Dropzone.autoDiscover = false;
$(document).ready(function(){
$('#my-dropzone').dropzone({
url: 'http://54.161.128.196/pre_image/store',
headers: {
'X-CSRF-TOKEN': $('meta[name="token"]').attr('content')
},
method: 'post',
dictResponseError: 'Error uploading file!'
});
});
我的Laravel路线:
Route::post('/pre_image/store', 'Pre_ImageController@store');
我把它放在中间件中,看看是否可以消除 419 错误:
在VerifyCsrfToken中间件中
protected $except = [
'pre_image/store'
];
它没有用,我在 meta 中有这样的 csrf 令牌:
<meta name="csrf-token" content="{{ csrf_token() }}">
这是错误的截图:
所以我想知道问题是什么,如果该路由被禁用以验证令牌,甚至它已分配令牌,为什么会显示 419 错误?
谢谢!
我在使用 Dropzone 时遇到了类似的问题。我最终将 headers 拉入页面顶部的 ajax 函数,而不是 DZ headers 部分。这允许任何一般 ajax 请求具有正确的 CSRF。
试试这个:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
我已经测试了我所看到的所有内容,但它对我不起作用,我正在使用带 laravel 的 dropzone,我的问题是它显示 419 错误,我知道这与 csrf 有关令牌,但我无法修复它。
我的HTML代码是这样的:
<div id="my-dropzone" class="dropzone"></div>
我的javascript代码是这样的:
Dropzone.autoDiscover = false;
$(document).ready(function(){
$('#my-dropzone').dropzone({
url: 'http://54.161.128.196/pre_image/store',
headers: {
'X-CSRF-TOKEN': $('meta[name="token"]').attr('content')
},
method: 'post',
dictResponseError: 'Error uploading file!'
});
});
我的Laravel路线:
Route::post('/pre_image/store', 'Pre_ImageController@store');
我把它放在中间件中,看看是否可以消除 419 错误:
在VerifyCsrfToken中间件中
protected $except = [
'pre_image/store'
];
它没有用,我在 meta 中有这样的 csrf 令牌:
<meta name="csrf-token" content="{{ csrf_token() }}">
这是错误的截图:
所以我想知道问题是什么,如果该路由被禁用以验证令牌,甚至它已分配令牌,为什么会显示 419 错误?
谢谢!
我在使用 Dropzone 时遇到了类似的问题。我最终将 headers 拉入页面顶部的 ajax 函数,而不是 DZ headers 部分。这允许任何一般 ajax 请求具有正确的 CSRF。
试试这个:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});