Я пытаюсь отправить форму с javascript, но получаю эту ошибку CSRF token mismatch
. Я попытался изменить var url = "{{ route('review.store') }}";
на {{ route('review.store') }}?_token={{ csrf_token() }}
, и он отправлял форму в базу данных без данных. Я видел много вопросов, похожих на это, но у меня не было решения для моего случая. Как я могу это исправить?
<form id="form" enctype="multipart/form-data">
<input type="hidden" value="{{csrf_token()}}" id="token"/>
<div class="form-group" >
<label for="title">Title</label>
<input type="text" name="title" >
</div>
<div class="form-group">
<label for="description">Description</label>
<input type="text" name="description">
</div>
</form>
<input type='button' value="Submit" id="btn"/>
Javascript
var token = $("#token").val();
$(document).ready(function(){
$("#btn").click(function(event){
event.preventDefault();
var url = "{{ route('review.store') }}";
var form = $('#form')[0];
var formData = new FormData(form);
formData.append('_token', token);
$.ajax({
url: url,
data: formData,
type: 'POST',
cache: false,
contentType: false,
processData: false,
success:function(data){
if($.isEmptyObject(data.error)){
$("#msg").html("successfull");
$("#msg").fadeOut(3000);
}
}
});
});
});
Маршрут
Route::resource('review','ProductReviewController');