我正在尝试为Laravel Web应用程序实现一个点赞系统。这是一个食谱应用程序。为了构建喜欢系统,我使用AJAX(我以前的喜欢系统只是通过Laravel使用多对多,但这需要为每个喜欢加载页面)。每当我按下“赞”按钮时,我遇到的问题就是内部服务器错误500,但我不知道为什么。我已经把它弄弄了好几个小时,无法从中得到任何东西。
AJAX
// Likes AJAX
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
var recipeId = 0;
$('.like').on('click', function(event){
event.preventDefault();
recipeId = event.target.parentNode.parentNode.dataset['recipeId'];
var isLike = event.target.previousElementSibling == null;
$.ajax({
method: 'POST',
url: urlLike,
data: {isLike: isLike, recipeId: recipeId},
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}
})
.done(function(){
event.target.innerText = isLike ? event.target.innerText == 'Like' ? 'You like this' : 'Like':
event.target.innerText == 'Unlike' ? 'You like this' : 'Unlike';
if(isLike){
event.taget.innerText = 'Unlike';
} else {
event.taget.innerText = 'Like';
}
});
});
刀片/视图
{{-- Likes --}}
@if (Auth::check())
<div>
<button class="like" data-recipeId="{{$recipe->id}}">Like!</button>
<span id="likes-count-{{$recipe->id}}"></span>
</div>
@else
<div>
<a href="{{route('login')}}">
<button>Like It!</button>
</a>
<a href="{{route('login')}}">
<button>Unlike It!</button>
</a>
</div>
@endif
以下内容包含在我的布局文件中。
<script>
var urlLike = '{{ route('like') }}'
</script>
<script src="/js/custom.js"></script>
<meta name="csrf-token" content="{{ csrf_token() }}">
有人知道我应该从哪里开始搜索错误以及如何去纠正它吗?如果您还需要其他代码(例如我的控制器或模型),请告诉我。