這是我的jQuery代碼
$(document).on('click', '.btnDeleteStudent', function () {
var id = $(this).val();
var token = $("meta[name='csrf-token']").attr("content");
console.log("it Works");
$.ajax({
type: "DELETE",
url: "/delete-student/" id,
dataType: "json",
data: {
"id": id,
"_token": token,
},
success: function (){
console.log("it Works");
}
});
});
這是我的控制器
public function destroy($id)
{
Student::find($id)->delete($id);
return response()->json([
'success'=> 'Record deleted successfully'
]);
}
//這里是我的 web.php 路由 Route::delete('delete-student/{id}', [StudentController::class, 'destroy']);
uj5u.com熱心網友回復:
在你的routes/web.php檔案中。改變你所擁有的
Route::delete('delete-student/{id}', [StudentController::class, 'destroy']);
對此
Route::post('delete-student/{id}', [StudentController::class, 'destroy'])->name('student.delete');
將您的 jQuery 代碼更改為:
$(document).on('click', '.btnDeleteStudent', function () {
var id = $(this).val();
var url = "{{ route('student.delete', ':id') }}";
url = url.replace(':id', id);
var token = $("meta[name='csrf-token']").attr("content");
console.log("it Works");
$.ajax({
type: "post",
url: url,
dataType: "json",
data: {'_method':'POST', '_token': token},
success: function (){
console.log("it Works");
}
});
});
這是一種更好的方法,肯定會奏效。
解釋:您首先為路由分配一個名稱,以便您可以將id引數分配給route()輔助函式。
接下來,使用POST路由而不是DELETE,因為您通過 AJAX 提交表單。
接下來,將 url 分配給 JavaScript 中的變數,然后將其傳遞給 AJAX 請求。
就這樣!
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/517940.html
上一篇:帶有雙面影像的多行標簽
