В настоящее время я пытаюсь сделать так, чтобы моя аналогичная функциональность использовала запросы AJAX, чтобы страница не обновлялась всякий раз, когда пользователю нравится изображение, однако каждый раз, когда я нажимаюdiv, который должен вызывать запрос AJAX.
К сожалению, я не знаю, как устранить 500, внутренняя ошибка сервера.
Это соответствующий код из представления, из которого пользователь любитimage:
<div class="submit-btn like" id='{{ $image->id }}'>Like</div>
<script>
var token = '{{ Session::token() }}';
var urlLike = '{{ route('likeArtwork') }}'
</script>
Это мой JavaScript:
$('.like').on('click', function(event) {
var imageId = event.target.id;
$.ajax({
method: 'POST',
url: urlLike,
data: {
imageId: imageId,
_token: token
}
}).done(function(response) {
});
});
Мой почтовый маршрут:
Route::post('/artwork/like', 'LikeController@likeArtwork')->name('likeArtwork');
И, наконец, моя функция likeArtwork ():
public function likeArtwork(){
$id = $request['imageId'];
$user = Auth::user();
$liked = Like::where('user_id', $user->id)->where('image_id', $id)->first();
if ($liked) {
$liked->delete();
} else {
$like = new Like();
$like->image_id = $id;
$like->user_id = $user->id;
$like->save();
}
return redirect()->back();
}