这是我的按钮:
<button class="btn btn-danger" onclick="deleteConfirmation({{$wp->id}})" id="{{$wp->id}}" data-id="{{$wp->id}}"><i class="fa fa-trash"></i></button>
这是我的jquery + ajax代码:
function deleteConfirmation(id) {
swal.fire({
title: "Usunąć wypis?",
text: "Upewnij się czy chcesz usunąć ten wypis!",
type: "warning",
showCancelButton: !0,
confirmButtonText: "Tak, usuń go!",
cancelButtonText: "Nie, anuluj!",
reverseButtons: !0
}).then(function (e) {
if (e.value === true) {
var CSRF_TOKEN = $('meta[name="csrf-token"]').attr('content');
$.ajax({
type: 'POST',
url: "{{url('/przedsiebiorca/wypisy/destroy')}}/" + id,
data: {"_token": "{{ csrf_token() }}"},
dataType: 'JSON',
success: function (results) {
if (results.success === true) {
swal.fire("Usunięto wypis!", results.message, "success");
} else {
swal.fire("Wystąpił błąd!", results.message, "error");
}
}.then(function() {
location.reload();
});
});
} else {
e.dismiss;
}
}, function (dismiss) {
return false;
})
}
这是我的Laravel控制器函数destroy()
public function destroy(Request $request, $id)
{
//
$delete = \App\Wypisy::where('id', $id)->delete();
return back();
// check data deleted or not
if ($delete == 1) {
$success = true;
$message = "Wypis został usunięty !";
} else {
$success = true;
$message = "Wypisu nie znaleziono";
}
// Return response
return response()->json([
'success' => $success,
'message' => $message,
]);
return back();
}
当我单击按钮时,向我显示确认窗口,然后单击将其删除,我将收到消息jquery.min.js:2 POST http://localhost:8000/przedsiebiorca/wypisy/3 404(未找到)未发生。当我复制上面的链接时,删除方法在Laravel中可以正常工作。我究竟做错了什么 ?有提示吗?
Laravel 5.8,jquery 3.4.1
答案 0 :(得分:0)
如果您通过id
传递POST
您的Ajax函数:
// code ...
type: 'POST',
url: "{{url('/przedsiebiorca/wypisy/destroy')}}",
data: {"_token": "{{ csrf_token() }}", "id": id},
dataType: 'JSON',
success: function (results) {
// code ...
您的路线:
Route::post('/przedsiebiorca/wypisy/destroy', 'WypisyController@destroy');
您的控制器
public function destroy(Request $request)
{
//
$id = $request->id;
$delete = \App\Wypisy::where('id', $id)->delete();
// code ...
答案 1 :(得分:0)
当我为此更改代码
function deleteConfirmation(id) {
swal.fire({
title: "Usunąć wypis?",
text: "Upewnij się czy chcesz usunąć ten wypis!",
type: "warning",
showCancelButton: !0,
confirmButtonText: "Tak, usuń go!",
cancelButtonText: "Nie, anuluj!",
reverseButtons: !0
}).then(function (e) {
if (e.value === true) {
var CSRF_TOKEN = $('meta[name="csrf-token"]').attr('content');
$.ajax({
type: 'POST',
url: "{{url('/przedsiebiorca/wypisy/destroy')}}",
data: {"_token": "{{ csrf_token() }}", "id": id},
dataType: 'JSON',
success: function (results) {
if (results.success === true) {
swal.fire("Usunięto wypis!", results.message, "success");
} else {
swal.fire("Wystąpił błąd!", results.message, "error");
}
}
});
} else {
e.dismiss;
}
}, function (dismiss) {
return false;
})
}
我在控制台中调音:
jquery.min.js:2 POST http://localhost:8000/przedsiebiorca/wypisy/destroy
500 (Internal Server Error)
send @ jquery.min.js:2
ajax @ jquery.min.js:2
(anonymous) @ (index):395
Promise.then (async)
ue.then @ sweetalert.all.js:1
deleteConfirmation @ (index):390
onclick @ (index):173