Я прочитал ряд подобных вопросов и попытался изо всех сил поместить его в работу на моем веб-сайте, но он не работает (когда вы нажимаете ссылку, на консоли нет ответа, а база данных не обновляется).
Вот что я хочу сделать: я хочу, чтобы пользователи оценивали комментарий +1
, щелкнув значок рядом с комментарием. Я хочу, чтобы обновить столбец mysql comment_table
под названием rating
с rating+1
. Когда я делаю это без AJAX (т. Е. Просто установите действие формы на php page?id=10
), он отлично работает. Однако я не могу заставить AJAX обновлять базу данных.
Моя главная страница с комментарием:
<a href="javascript:void(0);" onClick="updateRating(1,<?php echo $thisperspective_row['id']; ?>)" alt="UPVOTE" id="upvote_<?php echo $thisperspective_row['id']; ?>"><span class="glyphicon glyphicon-chevron-up"></span></a>
Javascript ниже этой ссылки:
<script type="text/javascript"> function updateRating(rating, id){ $.ajax({ type: "GET", url: "rating.php", mode: "vote", rating: rating, id: <?php echo $thisperspective_row['id']; ?>, success: function(response) { console.log(response); } }); return false; // Prevent the browser from navigating to the-script.php }; </script>
и мой файл rating.php
<?php require_once('connectiontodatabase.php'); /* simple comment up and down voting script */ $mode = $_GET['mode']; $rating = $_GET['rating']; $id = $_GET['id']; if ($mode=="vote") { // The name of the $cookie = "nameofmycookie".$id; if(isset($_COOKIE[$cookie])) { echo '<div class="alert alert-warning"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> Sorry You have already rated this comment within the last 14 days.</div>'; } else { $expiry = 1209600 + time(); // 14 day expiry setcookie ($cookie, "voted", $expiry); mysql_query ("UPDATE comment_table SET rating = rating+$rating WHERE id=$id", $connection); } } ?>
PHP работает нормально, и все переменные перечислены правильно, когда я просматриваю источник. Однако, когда я нажимаю ссылку, ответа нет вообще, и консоль не выводит ответ. Что я делаю не так? Заранее спасибо!