更新 我更改了js和Blade上的某些内容,现在通过了csrf令牌,但是每个文件上传时都出现[Object object]错误。 更新 我想用dropzone.js创建一个具有很多输入和多个文件上传的表单。我在网络上尝试了所有方法,以解决令牌不匹配错误,但无法正常工作。
我的刀片首先是我的表单出现csrf错误,并添加了通过的csrf_token块形式,但dropzone却没有任何变化:
{!!Form::open(array('route' => 'contact_store', 'class' => 'form','files' => true))!!}
{!! csrf_field() !!}
{!! Form::label('Ad Soyad') !!}
{!! Form::text('name', null) !!}
{!! Form::label('E-mail') !!}
{!! Form::text('email', null) !!}
{!! Form::label('Cep Telefonu') !!}
{!! Form::text('cep', null) !!}
{!! Form::label('Notunuz') !!}
{!! Form::textarea('not', null) !!}
{!! Form::label('Abone Ol', null, ['class'=>'kutu']) !!}
<input type="hidden" name="abone" value="0" />
{!! Form::checkbox('abone', '1', true) !!}
{!! Recaptcha::render() !!}
<div id="send" class="dropzone">
<div class="dz-message" data-dz-message><span>Dosyalarınızı Buraya Sürükleyin</span></div>
<div class="fallback">
<input name="files" type="file" multiple />
</div>
</div>
</div>
{!! Form::submit('Send',
array('class'=>'btn btn-primary', 'id' => 'submit-all')) !!}
{!!Form::close()!!}
Js代码是我发现并为其代码配置的最新修复程序。我无法验证我的脚本是否正确,因为我没有找到有关dropzone js网站的文档,因此如果您选中它们,我会很高兴的。
Dropzone.autoDiscover = false;
$("#send").dropzone({
paramName: "file",
autoProcessQueue: false,
addRemoveLinks : true,
url: "{{ route('contact_store')}}",
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
// The setting up of the dropzone
init: function() {
var submitButton = document.querySelector('#submit-all')
myDropzone = this;
submitButton.addEventListener("click", function(e) {
// alert('buton çalıştı');
e.preventDefault();
e.stopPropagation();
myDropzone.processQueue();
});
}
});
我尝试了很多方法来修复标头向csrf发送任何其他内容。请阅读本文以获得更好的答案。