【发布时间】:2017-04-10 08:06:56
【问题描述】:
标题说明了一切。
.blade.php 文件:
@foreach($posts as $post)
<article class="post" data-postid=" {{ $post->id }} ">
<p>{{ $post->body }}</p>
<div class="info">
Posted by {{$post->user->first_name}} on {{ $post->created_at }}
</div>
<div class="interaction">
<a href="#" class="like">Like</a> |
<a href="#" class="like">Dislike</a>
@if(Auth::user() == $post->user)
|
<a href="#" class="edit">Edit</a> |
<a href="{{ route('post.delete', ['post_id' => $post->id]) }}">Delete</a>
@endif
</div>
</article>
@endforeach
.blade.php 文件中的 JS:
<script>
var token = '{{ csrf_token() }}';
var urlEdit = '{{ route('edit') }}';
var urlLike = '{{ route('like') }}';
</script>
.js 文件:
$('.like').on('click', function(event){
event.preventDefault();
postId = event.target.parentNode.parentNode.dataset['postid'];
var isLike = event.target.previousElementSibling == null; //Checks if it's a like or dislike.
$.ajax({
method: 'POST',
url: urlLike,
data: {isLike: isLike, postId: postId, _token: token}
})
.done(function(){
});
});
- 我已尝试检查路线是否有问题。
- 我尝试在元标记内传递令牌,而不是将其定义为 javascript 变量
- 我尝试使用双手镯“而不是单手镯”。
似乎没有任何效果,这是怎么回事?
【问题讨论】:
-
你有 PHP 错误报告吗?如果没有,请添加它并查看返回的错误,它会告诉您比我们想象的更多的信息。让我们知道那是什么意思,我们可以提供更多帮助
-
嗯,据我所知,我有错误报告,所以它不应该与 PHP 有任何关系。无论如何,我通过在“App\Http\Middleware\VerifyCsrfToken”中排除csrf-verification来“解决”它,只需在
protected $except = [ '/path' ];中添加路径 -
Error 500 (Internal Server Error) 非常明确地表示服务器上存在错误,并且几乎可以肯定会在 php.ini 中抛出该错误。无论如何,很高兴你解决了:)
标签: javascript php jquery ajax laravel-5