我想使用 ajax
调用从数据库中删除数据,但它显示错误。
CSRF token mismatch
在标题中:
<meta name="csrf-token" content="{{ csrf_token() }}">
在 Blade 中:
<button class="deletePhoto" data-id="{{ $photo->id }}" data-token="{{ csrf_token() }}">Delete</button>
AJAX 调用:
$('.deletePhoto').click(function () {
var id = $(this).data('id');
var el = this;
$.ajaxSetup({
headers:{
'X_CSRF_TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
url: '/photo/delete/'+id,
type: 'DELETE',
dataType: 'JSON',
data:{
'id': id,
},
success: function () {
$(el).closest(".photo-details").remove();
console.log('DELETED');
},
error: function (xhr) {
console.log(xhr.responseText);
}
})
})
Controller :
public function destroy($id)
{
$photo = Photo::find($id);
$photo->delete();
}
最佳答案
这就是我通常做的事情:[AJAX CALL]
$.ajax({
url: '/photo/delete/'+id,
type: 'DELETE',
dataType: 'JSON',
data:{
'id': id,
'_token': '{{ csrf_token() }}',
},
success: function () {
el.closest(".photo-details").remove();
console.log('DELETED');
},
error: function (xhr) {
console.log(xhr.responseText);
}
})
关于php - CSRF token 不匹配 Laravel ajax 删除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58152810/