我试图通过frozennode/administrator
包的自定义实现对我的模型进行简单(软)删除。每当我通过ajax访问我的路线时,应用程序都会抛出TokenMismatchException
。
我已尝试使用cookie
配置中设置的file
和session
个驱动程序。
我已确认使用ajax请求提交_token
。完全注释掉csrf
过滤器可以让我成功删除记录。我使用的是开箱即用的csrf
过滤器。
我也使用优秀的Sweet Alert插件,虽然这似乎并不相关。
routes.php文件:
//CSRF protection in forms
Route::group(array('before' => 'csrf'), function()
{
//Delete Item
Route::post('{model}/{id}/delete', array(
'as' => 'admin_delete_item',
'uses' => 'Frozennode\Administrator\AdminController@delete'
));
...
刀片模板:
<a href="" class="btn btn-danger" id="delete-item-button" data-token="{{ csrf_token()}} ">
<i class="fa fa-trash"></i>
<span>
Delete
</span>
</a>
使用Javascript:
请原谅我的狡猾$ .post是相关的。
$('#delete-item-button').on('click', function (e) {
e.preventDefault();
var token = $(this).data('token');
swal({
title: "Delete this record?",
text: "There's no undo!",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes, delete it!",
closeOnConfirm: false
}, function () {
$.post(
window.location.pathname + "/delete",
{"_token" : token},
function(){
swal({
title: "Deleted!",
text: "The record has been deleted.",
type: "success"
},
function () {
window.location.href = 'http://www.example.com'
})},
"json"
);
});
});
任何帮助或指导都会非常赞赏。
谢谢!