Problem med ajax og adskillige kald til ajax object
HejJeg er ved at lave min første ajax applikation, men det driller lidt.
Jeg er ved at lave en domænetester som automatisk skal teste om domænet med diverse domænetyper er ledigt.
Scriptet kan afprøves her:
http://typo3.hostcenter.dk/phpwhois/ajax/VisResultat.php?domain=ajax.dk
Her er min javascript kode:
function getAjax() {
var ajax = null;
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
ajax = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e1) {
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {}
}
}
return ajax;
if (!ajax) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
}
var domExt;
var i = 0;
function check_domainname(domainname) {
//Ajax function needs to run exactly as many times as there are domain types
for(i=0;i<5;i=i+1) {
//Split domainname in name and domain type
var domArr = domainname.split(".");
domExt = domArr[1];
//If the browser supports ajax
var ajax = getAjax();
if(ajax == null) {
return;
}
//Check if domainname is available
ajax.onreadystatechange = function () { handle_check(ajax); };
ajax.open('get', 'checkdomainname.php?domainname=' + encodeURIComponent(domainname));
ajax.send(null);
switch(i) {
case 0:
domainname = domArr[0]+'.com';
break
case 1:
domainname = domArr[0]+'.as';
break
case 2:
domainname = domArr[0]+'.nu';
break
case 3:
domainname = domArr[0]+'.org';
break
}
}
}
function handle_check(ajax) {
if (ajax.readyState == 4) {
if(ajax.status == 200) {
document.getElementById('message_'+domExt).innerHTML = ajax.responseText;
}
else {
document.getElementById('message_'+domExt).innerHTML = "<font color='red'>"+ajax.status+"</font>";
}
} else {
document.getElementById('message_'+domExt).innerHTML = "<font color='red'>"+ajax.readyState+"</font>";
}
}
Når man indtaster URL'en med et domænenavn som parameter, skal min resultatside vises med det samme og herefter skal status for diverse domæner poppe frem løbende, men det er kun den sidste der bliver vist. De fire første opslag kommer ikke forbi loading state.
Refresher man herefter siden, kan man se at alle opslag returnere en værdi.
Er der en ajax ekspert der kan finde fejlen i mit script?
/Nightowl