В БД при этом, тоже "инкремент".
А в консоли ChromeDevTools появляется ошибка:
"Uncaught SyntaxError: Unexpected token < in JSON at position 0 at JSON.parse ()"
Доброго времени суток!
В чём может быть проблема? Помогите, пожалуйста, разобраться.
Заранее, благодарю за любую помощь!
index.php
$mysql = new PDO( создает соединение с базой данных );
$statement = $mysql->query("SELECT `value` FROM counter WHERE `id` = 1");
$data3 = (int)$statement->fetchColumn();
<div class="block-up">
<form id="ratingsLike" method="post">
<input type="hidden" name="ip" value="" />
<button id="btnLike" type="button"></button>
</form>
<div class="content-like-dislike">
<span class="thanks">Thank you very much!</span>
<p id="like_count"><?= $data3 ?></p> <!-- Счётчик подсчёта голосов Like -->
</div>
</div>
main.js
var btnLike = $("#btnLike"),
counterLike = $("#like_count");
btnLike.on('click', function(event) {
event.preventDefault();
var ajax = $.ajax({
method: 'post',
url: 'site.php/counter.php',
dataType: 'text',
data: {
"count": 1
}
});
ajax.done(function(data) {
data = JSON.parse(data);
counterLike.html(parseInt(data));
});
});
counter.php
if (isset($_POST["count"]) && (int)$_POST["count"] === 1):
try {
$mysql = new PDO( создает соединение с базой данных );
$stmt = $mysql->query("SELECT `value` FROM counter WHERE `id` = 1");
$data = (int)$stmt->fetchColumn();
$data++;
$query = "UPDATE `counter` SET `value` = :value WHERE `id` = :id";
$params = [
":id" => 1,
":value" => $data
];
$stmt = $mysql->prepare($query);
$stmt->execute($params);
echo json_encode($data);
} catch (Exception $e) {
echo $e->getMessage();
}
endif;