Şimdi bir kullanıcının komut benim veritabanını günceller bir oy ama onun oy herşey benim AJAX kodu hariç düzgün çalışır hariç olmuştur kullanıcıya anlatmak için aşağıdaki aşağıdaki kodu göstermez olduğunda.
Ben kullanıcı kendi oy girdiğinde yeni bir değerlendirme görüntülemek için aşağıdaki kodu almak için bu sorunu nasıl çözebilirsiniz?
Ben PHP kullanarak ediyorum
İşte JavaScript kodudur.
function vote(id, rating) {
if (window.XMLHttpRequest) {
http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
http = new ActiveXObject("Microsoft.XMLHTTP");
}
var url = 'ajax.php?';
var fullurl = url + 'id=' + id + '&rating=' + rating;
//This will create the request to our file, with the information about the vote.
http.open("GET", fullurl, true);
http.send(null);
http.onreadystatechange = statechange_rate;
}
function statechange_rate() {
if (http.readyState == 4) {
var xmlObj = http.responseXML;
var html = xmlObj.getElementsByTagName('result').item(0).firstChild.data;
var id = xmlObj.getElementsByTagName('result').item(0).getAttribute("id");
var votes = xmlObj.getElementsByTagName('result').item(0).getAttribute("votes");
var rating = xmlObj.getElementsByTagName('result').item(0).getAttribute("rating");
//Before, you may have noticed we set votes="-1" if they had already voted, this was just to provide an easy way to check the return of our ajax.php script.
if(votes != -1) {
//This will inform the user about the vote they have cast.
document.getElementsByName('output_' + id).item(0).innerHTML = "<br />" + html;
//This will set a delay to make that message go away in 5000 miliseconds (5 seconds).
window.setTimeout("document.getElementsByName('output_" + id + "').item(0).innerHTML = '';", 5000);
//This will update the rating on the page to the new one.
document.getElementsByName('rating_' + id).item(0).innerHTML = rating;
document.getElementsByName('votes_' + id).item(0).innerHTML = votes;
}else{
document.getElementsByName('output_' + id).item(0).innerHTML = "<br />" + html;
window.setTimeout("document.getElementsByName('output_" + id + "').item(0).innerHTML = '';", 5000);
}
}
}