javascript - 在 laravel 上使用 SWAL 和 ajax 执行并确认删除
问题描述
当我单击 swal 上的按钮确认时,没有任何反应,我不知道问题是 ajax 代码还是其他问题,但是当我从 swal 代码中删除 ajax 代码时它工作正常并显示 sweetalert 所以我认为问题来自 ajax
<script>
function deleteData(id) {
swal({
title: "Suppression",
text: "Veuillez confirmer la suppression",
type: "warning",
showCancelButton: true,
confirmButtonText: "Confirmer",
cancelButtonText: "Annuler",
reverseButtons: true
}.then(function () {
var CSRF_TOKEN = $('meta[name="csrf-token"]').attr('content');
$.ajax({
type: "DELETE",
url: "{{url('eventment/type')}}/" + id,
data: {
_token: CSRF_TOKEN
},
dataType: "JSON",
success: function (results) {
if (results.success === true) {
swal("Done!", results.message, "success");
} else {
swal("Error!", results.message, "error");
}
} //success
});
})
) //swal
} //deleteData
</script>
删除按钮
<button class="btn btn-danger" onclick="deleteData({{$type->id}})" >Supprimer</button>
路由文件
Route::delete('eventment/type/{id}','TypeController@destroy')->name('type.destroy');
控制器
public function destroy($id)
{
$type = EventType::where('id', $id)->delete();
return redirect()->to(route('admin.type.index'))->withFlashSucces('Le Type A Bien Etait Supprimé');
}
解决方案
你可以在没有 ajax 的情况下做到这一点。首先你的按钮使它成为一个表单
<form id="del_event" action="{{ route('type.destroy',$type->id) }}" method="post"style="display: inline;">
{!! method_field('delete') !!}
{{ csrf_field() }}
<button class="btn btn-danger" type="submit" id="del_id">Supprimer</button>
</form
按钮在单击调用下面的函数时有一个 id “del_id”
<script>
$("#del_id").on('click', function (e) {
e.preventDefault();
swal({
title: "Suppression",
text: "Veuillez confirmer la suppression",
type: "warning",
showCancelButton: true,
confirmButtonText: "Confirmer",
cancelButtonText: "Annuler",
}).then((result) => {
if(result) {
$("#del_event").submit();
}
}
)
;
});
</script>
你的销毁功能
$type=EventType::find($id);
$type->delete();``
推荐阅读
- java - 具有可更新 = false 的实体中的更新字段返回具有具有新值的字段的实体
- python - 在 Python 中使用机器学习分类预测时间窗口中的故障概率
- c - static int arr[10] 内存地址总是以 060 结尾
- php - 奇怪的 PHP 乘法结果
- excel - 创建数据透视表时调用无效的过程
- python-3.x - 检查是否有任何行具有与 numpy 数组相同的值
- java - 正则表达式 (?<=[\\S])[\\S]*\\s* 做什么?
- laravel - 当升级 Laravel 5.8 到 6.0 - laravel/framework v6.0.4 需要 php ^7.2 -> 你的 PHP 版本 (7.1.8) 不满足这个要求
- node.js - 在 hapi 中解码 Base64 字符串
- awk - 使用 gensub 时在 gawk 中命名变量