Я пытаюсь научиться использовать AJAX с laravel, мои знания AJAX практически равны нулю. Последние несколько дней я пытался это решить. Но я не могу заставить его работать ...laravel AJAX post
В основном, когда пользователь нажимает подобную кнопку сообщения, я хочу отправить этот запрос моему LikeController. LikeController работает так, что это не может быть проблемой, кажется, что AJAX не передает данные контроллеру. Может кто-то указать, что я делаю неправильно?
Мой маршрут:
Route::post('posts/like', [
'as' => 'posts.like',
'uses' => '[email protected]'
]);
Мой контроллер:
public function likePost(Request $request)
{
// Validation
$this->handleLike('App\Post', $request['postId']);
return response()->json(['msg' => 'success'], 200);
}
public function handleLike($type, $postId)
{
$existing_like = Like::withTrashed()->whereLikeableType($type)->whereLikeableId($postId)->whereUserId(Auth::id())->first();
if (is_null($existing_like)) {
Like::create([
'user_id' => Auth::id(),
'likeable_id' => $postId,
'likeable_type' => $type,
]);
} else {
if (is_null($existing_like->deleted_at)) {
$existing_like->delete();
} else {
$existing_like->restore();
}
}
}
И JS:
$('.like').on('click', function(event) {
event.preventDefault();
postId = event.target.dataset['postid'];
console.log(postId)
console.log(token)
$.ajax({
method: 'POST',
url: urlLike, // Gets defined in the view
data: {postId: postId, _token: token}
}).done(function(msg) {
console.log(msg); // never even reached this stage...
});
});
Проверьте вкладку сети в вашем браузеры для разработчиков-консоли. – tkausl
Спасибо! Лучший совет: –