У меня есть функция "Мне нравится" на моем сайте laravel. Он отлично работает как запрос POST, однако я бы хотел использовать AJAX для запроса, чтобы не перезагружать страницу. Я дал ему попытку, однако в прошлом я не делал много AJAX, и я получаю некоторые ошибки.
Разметка:
<li data-value="{{$status->id}}" class="like">
Like
</li>
Маршрут Laravel:
Route::get('/status/{statusId}/like', [
'uses' => '\CommendMe\Http\Controllers\StatusController@getLike',
'as' => 'status.like',
'middleware' => ['auth'],
]);
JS:
$('.like').click(function() {
$likeValue = $(this).attr('data-value');
$token = $('meta[name=csrf-token]').attr("content");
$.ajax({
type: "POST",
url: host + '/status/' + $likeValue + '/like',
data: {likeValue: $likeValue, _token:$token},
}).success(function (res){
});
});
Это вернет ошибку:
TypeError: $.ajax(...). Успех не является функцией
Помогите!
Я понимаю, почему это не работает. Мой маршрут ожидал запроса GET, а не POST. D'о!
Пытаться
$.ajax({
type: "POST",
url: host + '/status/' + $likeValue + '/like',
data: {likeValue: $likeValue, _token:$token},
success: function(res) {
}
});