【发布时间】:2020-06-28 09:43:48
【问题描述】:
我正在尝试使用 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');
【问题讨论】:
-
请求负载是否具有
_token值?用浏览器开发工具确认。 -
是的 @ab.in
-
请添加您的
web.php文件。 -
检查updated@ab.in
-
您确定您的请求到达了正确的终点吗?你能添加请求有效负载的屏幕截图吗?
标签: javascript php ajax laravel laravel-5