【发布时间】:2016-10-15 11:48:07
【问题描述】:
我正在使用 Dropzone 使用 Laravel 5 上传图像。在 Dropzone 对我的 URL 进行 put 调用后,我收到以下错误:
VerifyCsrfToken.php 第 67 行中的 TokenMismatchException:
但是,当我查看请求的有效负载时,令牌存在:
------WebKitFormBoundary91A7BYrMsDcGTEvx 内容处置:表单数据; name="_method"
放 ------WebKitFormBoundary91A7BYrMsDcGTEvx 内容处置:表单数据; name="_token"
j3NbjibYF7k8g2w1P0enw6YVfDrDvCGKFMCFt4NX ------WebKitFormBoundary91A7BYrMsDcGTEvx 内容处置:表单数据;名称="标题"
这是我的 JS:
Dropzone.options.realDropzone = {
url: '/user/manage/10',
method: 'PUT',
paramName: 'file',
uploadMultiple: false,
parallelUploads: 100,
previewsContainer: '#dropzonePreview',
addRemoveLinks: true,
maxFiles: 10,
autoProcessQueue: false,
init: function () {
var dropZone = this;
this.element.querySelector("#save").addEventListener("click", function (e) {
e.preventDefault();
e.stopPropagation();
console.log("clicked submit");
dropZone.processQueue();
});
},
};
我的表格:
{!! Form::model($asset, ['method' => 'PUT', 'class' => 'dropzone', 'id' => 'real-dropzone', 'action' => ['UserManagementController@update', $asset->id], 'file' => true]) !!}
我的控制器:
public function update(Request $request, $id)
{
return dd(FileRequest::file('file'));
}
【问题讨论】:
-
所以我刚刚发现,当我使用 Dropzone 提交请求时,没有数据发送到我的控制器,这就是我得到令牌不匹配的原因。任何想法为什么 dropzone 没有提交整个表单?
标签: laravel laravel-5.2 csrf laravel-5.5 dropzone.js