$(function() {
var lastChecked = '';
function addResp(type, resp) {
$("#post-reponses").append(
"<div class='resp "+ type +"'>"+ resp +"</div>"
);
};
function waitForResp() {
$.ajax({
type: "GET",
url: "/responses?since="+lastChecked,
async: true,
cache: false,
timeout:5000,
success: function(data) {
if (data.respons.length > 0) {
lastChecked = data.lastChecked;
data.respons.forEach(function(item) {
addResp("respons", item.name);
});
}
setTimeout(
waitForResp,
1000
);
}
})
};
waitForResp();
});
In de functie responses heb ik het volgende:
public function responsesAction()
{
if (empty($_GET['since']))
{
$responses = $this->blog->get_responses();
}
else
{
$responses = $this->blog->get_responses($_GET['since']);
}
$data = $responses;
header('Content-Type: application/json');
echo json_encode(array(
'respons' => $data,
'lastChecked' => time()
));
}
En in de query het volgende:
public function get_responces($response_date)
{
$sql = "SELECT *
FROM `post_responses`";
$params = array();
if ($response_date)
{
$sql .= " WHERE `response_date` > :response_date";
$params[':response_date'] = $response_date;
}
$stmt = $this->pdo->prepare($sql . " ORDER BY `post_id` DESC");
$stmt->execute($params);
return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
Ik blij echter de foutmelding krijgen dat data.respons undefined is. Zit nu al een uur te staren maar zie niet waar ik er naast zit. en paar extra ogen zouden nu welkom zijn.
Alvast bedankt