ajax 从数据库中删除记录不会在 laravel 中触发重定向
ajax to delete a record from database does not fire redirect in laravel
我正在使用 ajax 请求从我的数据库中删除一条记录。这有效并删除了记录,但是它不会使用成功消息重定向用户。
我正在使用 sweetalert 模式来显示确认删除按钮,当您单击“是”时,模式消失并且记录已被删除但页面不会重定向并且记录不会消失,直到您刷新页面.
这似乎被忽略了 -
return redirect()->route('users.index')->with('success', 'User deleted!');
AJAX -
<script>
$(document).ready(function() {
$(".swal2-confirm").click(function(){
var id = '{{ request()->delete_id }}';
var route = '{{ request()->route }}';
$.ajax({
type:'post',
url:'/admin/' + route + '/' + id,
dataType: 'json',
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
data: {'_method':'delete', "_token": "{{ csrf_token() }}", id:id},
});
});
});
</script>
控制器 -
public function destroy($id)
{
//Delete user from database
User::find($id)->delete();
return redirect()->route('users.index')->with('success', 'User deleted!');
}
我通过显示警报然后在我的 ajax 中重新加载页面来解决这个问题 -
<script>
$(document).ready(function () {
$(".swal2-confirm").click(function () {
var id = '{{ $delete_id }}';
$.ajax({
type: 'post',
url: '/admin/users' + '/' + id,
dataType: 'json',
headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
data: { '_method': 'delete', "_token": "{{ csrf_token() }}", id: id },
complete: function () {
swal.fire({
type: 'success',
title: 'User Deleted!',
showConfirmButton: false,
timer: 2500
});
setTimeout(function () { window.location.replace('/admin/users') }, 2500);
}
});
});
});
</script>
我正在使用 ajax 请求从我的数据库中删除一条记录。这有效并删除了记录,但是它不会使用成功消息重定向用户。
我正在使用 sweetalert 模式来显示确认删除按钮,当您单击“是”时,模式消失并且记录已被删除但页面不会重定向并且记录不会消失,直到您刷新页面.
这似乎被忽略了 -
return redirect()->route('users.index')->with('success', 'User deleted!');
AJAX -
<script>
$(document).ready(function() {
$(".swal2-confirm").click(function(){
var id = '{{ request()->delete_id }}';
var route = '{{ request()->route }}';
$.ajax({
type:'post',
url:'/admin/' + route + '/' + id,
dataType: 'json',
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
data: {'_method':'delete', "_token": "{{ csrf_token() }}", id:id},
});
});
});
</script>
控制器 -
public function destroy($id)
{
//Delete user from database
User::find($id)->delete();
return redirect()->route('users.index')->with('success', 'User deleted!');
}
我通过显示警报然后在我的 ajax 中重新加载页面来解决这个问题 -
<script>
$(document).ready(function () {
$(".swal2-confirm").click(function () {
var id = '{{ $delete_id }}';
$.ajax({
type: 'post',
url: '/admin/users' + '/' + id,
dataType: 'json',
headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
data: { '_method': 'delete', "_token": "{{ csrf_token() }}", id: id },
complete: function () {
swal.fire({
type: 'success',
title: 'User Deleted!',
showConfirmButton: false,
timer: 2500
});
setTimeout(function () { window.location.replace('/admin/users') }, 2500);
}
});
});
});
</script>