AJAX kullanarak Gmail 'yıldızın' favori butonuna yeniden çalışıyorum. Ne yazık ki ne ben çalışmıyor ve ben neden çalışmak olamaz.
Ben benim HMTL de şu var:
<img id="item_1" src="/_images/star_off.gif" onclick="updateStar(this.id)" />
<img id="item_2" src="/_images/star_off.gif" onclick="updateStar(this.id)" />
Ve ben bir ayrı dosyada aşağıdaki Javascript kullanarak ediyorum:
function updateStar(id) {
var imgsrc = (document.getElementById(id).src == "/_images/star_off.gif") ? "/_images/star_on.gif" : "/_images/star_off.gif";
var sendId = id.split('_')[1];
var sendStar = (imgsrc == "/_images/star_off.gif") ? false : true;
var objXml = new XMLHttpRequest();
var datasource = "favourite.php";
var params = "id=" + sendId + "&star=" + sendStar;
objXml.open("GET", datasource + "?" + params, true);
objXml.onreadystatechange=function() {
if ((objXml.readyState==4) && (objXml.status==200)) {
alert('status changed.');
}
}
objXml.send(null);
}
Ayarlar favourite.php script sık veritabanı tabloya id ekler (ya da eğer yıldız == false kaldırır).
Ben burada neyin yanlış olduğunu göremiyorum ama çalışmıyor. Ben de http://stackoverflow.com/questions/2563094/jquery-gmail-star üzerindeki önerileri denedim ama onlar da alışkanlık iş. Herhangi bir öneriniz?