function ajax(url,target) {
// native XMLHttpRequest object
// document.getElementById(target).innerHTML = 'Loading...';
if (window.XMLHttpRequest) {
creq = new XMLHttpRequest();
creq.onreadystatechange = function() {ajaxDone1(target);};
creq.open("GET", url, true);
creq.send(null);
// IE/Windows ActiveX version
} else if (window.ActiveXObject) {
creq = new ActiveXObject("Microsoft.XMLHTTP");
if (creq) {
creq.onreadystatechange = function() {ajaxDone1(target);};
creq.open("GET", url, true);
creq.send(null);
}
}
}
function ajaxDone(target) {
// only if req is "loaded"
//results="";
if (creq.readyState == 4) {
// only if "OK"
if (creq.status == 200 || creq.status == 304) {
xresults = reqa.responseText;
//alert("--"+req.responseText+"--");
document.getElementById(target).innerHTML = document.getElementById(target).innerHTML + xresults;
document.getElementById(target).scrollTop = document.getElementById(target).scrollHeight;
} else {
document.getElementById(target).innerHTML="ajax error:\n" +
creq.statusText;
}
}
}
Fungsi ajax ini berjalan baik di semua browser
Dengan variabel lokal maka
hasil dari page/halaman yang dipanggil selalu update
berbeda dengan AJAX
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
xmlhttp = new XMLHttpRequest();
}
function makeRequest(serverpage,objid)
{
var obj = document.getElementById(objid);
if (xmlhttp )
{
xmlhttp.open("GET",serverpage);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
alert(xmlhttp.responseText);
obj.innerHTML =xmlhttp.responseText;
}
}
xmlhttp.send(null);
}
}
Terdapat Variabel xmlhttp yang di set GLOBAL
sehingga hasil dari AJAX tidak update
Tidak ada komentar:
Posting Komentar