У меня такой контроллер -
public function imagedelete($id) {
$image = imagesforpeople::find($id);
$image->delete();
return back();
}
В этом контроллере я вызываю return back(), который обновляет страницу при удалении этого изображения. Я просто не хочу обновлять страницу, но хочу остаться на одной странице, но изображение будет удалено, и оно будет обновляться в режиме реального времени. Итак, я хочу вызвать ajax, что-то вроде этого в моем контроллере
public function imagedelete($id) {
$image = imagesforpeople::find($id);
$image->delete();
call ajax view();
}
Мой маршрут подобен этому
Route::delete('/profile/people/image/{id}','Profilepagecontroller@imagedelete');
Как мне построить мой вызов ajax для этого маршрута?
$(document).ready(function() {
$.ajax({
url : "/profile/people/image/{id}",
dataType: "text",
success : function (data) {
}
});
Любая помощь будет оценена по достоинству.
Измени свой маршрут следующим образом
Route::post('delete-photo', 'Profilepagecontroller@imagedelete')->name('deletephoto');
Изменение функции контроллера
public function imagedelete(Request $request) {
$id=$request->image_id;
$image = imagesforpeople::find($id);
$image->delete();
$data['success']=true;
return response()->json($data);
}
Ваш код ajax будет таким:
$(document).ready(function() {
$.ajax({
type: 'POST',
url : '{{route('deletephoto')}}',
data: {
image_id: '{id}' ,
_token: '{{csrf_token()}}'
},
success : function (data) {
if (data.success == true) {
console.log('image deleted');
}}
}); });