【发布时间】:2016-10-30 12:25:53
【问题描述】:
我创建了一个喜欢和不喜欢的按钮,并通过 Laravel 5.2 中的 ajax 存储信息。我使用 wamp 作为我的本地主机。 起初,我看到有时喜欢和不喜欢被计算在内,有时则没有。 于是,我尝试通过console.log()在控制台中查看,在我的一些点击中发现了500(internal Server Error)。 我还确保正确提供了 csrf 令牌。
我不知道如何处理有时会出现有时不会出现的错误。
这是我的 likeajax.js :
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
var postId=0;
$('.option1').on('click', function (event) {
event.preventDefault();
$('event').attr('disabled', 'disabled');
postId = event.target.parentNode.parentNode.parentNode.parentNode.dataset['postid'];
$.ajax({
method: 'GET',
url: urlLike,
data: {postId: postId, _token: token},
})
});
$('.optionx').on('click', function (event) {
event.preventDefault();
$('event').attr('disabled', 'disabled');
postId = event.target.parentNode.parentNode.parentNode.parentNode.dataset['postid'];
$.ajax({
method: 'GET',
url: urlDislike,
data: {postId: postId, _token: token},
})
});
这是我的 LikeController:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Depress;
use App\Http\Requests;
class LikeController extends Controller
{
public function postLike(Request $request)
{
$post_id = $request['postId'];
$post = Depress::find($post_id);
$post->like = $post->like+1;
$post->save();
return null;
}
public function postDislike(Request $request)
{
$post_id = $request['postId'];
$post = Depress::find($post_id);
$post->dislike = $post->dislike+1;
$post->save();
return null;
}
}
这是我喜欢的layout.blade.php,
<script>
var token = "{{ csrf_token() }}";
var urlLike = '{{ route('like') }}';
var urlDislike = '{{ route('dislike') }}';
</script>
更新: 虽然当我转到页面时:http://localhost:8000/dislike,
它显示
RouteCollection.php 第 218 行中的 MethodNotAllowedHttpException:
任何帮助将不胜感激。
【问题讨论】:
-
你在 500 响应中得到了什么?
-
打开浏览器检查器的网络选项卡,选择 ajax 调用并查看它返回的响应。在此响应中,您将找到错误并可能找到解决方案。
-
jquery.min.js:4 GET localhost:8000/…500(内部服务器错误)发送@jquery.min.js:4ajax @jquery.min.js:4(匿名函数)@likeajax.js :33dispatch@jquery.min.js:3r.handle@jquery.min.js:3
-
那是你的控制台的回报。我们需要您的 ajax 调用的响应才能查看问题所在。你在用 Chrome 吗?按 F+12,单击网络,单击 ajax 调用,单击响应并用它更新您的问题。
-
另外,你确定它总是得到正确的帖子 ID 吗?
标签: php jquery ajax laravel laravel-5.2