mam oto sobie taki kodzik:
// przechowuje obiekt XMLHttpRequest var xmlHttp = createXmlHttpRequestObject(); // inicjalizuje pamięć podręczną żądania var cache = new Array(); // tworzy obiekt XMLHttpRequest function createXmlHttpRequestObject() { // przechowa odwołanie do obiektu XMLHttpRequest var xmlHttp; // powinno działać dla wszystkich przeglądarek z wyjątkiem IE6 i starszych try { // próbuje stworzyć obiekt XMLHttpRequest xmlHttp = new XMLHttpRequest(); } catch(e) { // zakładając, że IE6 lub starsza var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"); // sprawdza każdy prog id aż któryś zadziała for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) { try { // próbuje stworzyć obiekt XMLHttpRequest xmlHttp = new ActiveXObject(XmlHttpVersions[i]); } catch (e) {} // ignoruje potencjalne błędy } } // zwraca stworzony obiekt albo wyświetla komunikat o błędzie if (!xmlHttp) displayError("Błąd podczas tworzenia obiektu XMLHttpRequest."); else return xmlHttp; } function validate(inputValue, fieldID) { if(xmlHttp) { if(fieldID) { inputValue = encodeURIComponent(inputValue); fieldID = encodeURIComponent(fieldID); cache.push("inputValue=" + inputValue + "&fieldID=" + fieldID); } try { if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0 && cache.length > 0) { var cacheEntry = cache.shift(); xmlHttp.open("POST", "validate.php", true); xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlHttp.onreadystatechange = HandleReServer; xmlHttp.send(cacheEntry); } } catch(e) { alert("Wystąpił błąd !2"); } } } function HandleReServer() { if(xmlHttp.readyState == 4) { if(xmlHttp.status == 200) { try { ReadHandle(); } catch(e) { alert("Wystąpił błąd !5"); } } else { alert("Wystąpił błąd !3"); } } } function ReadHandle() { responseXml = xmlHttp.responseXML; xmlDoc = responseXml.documentElement; result = xmlDoc.getElementsByTagName("result")[0].firstChild.data; fieldid = xmlDoc.getElementsByTagName("fieldid")[0].firstChild.data; message = document.getElementById(fieldid + "Failed"); message.className = (result == 0) ? "error" : "hidden"; }
Gdy dodaje do funkcji ReadHandle, czy też validate - setTimeout(); wyświetla mi komunikat w alert();
catch(e) { alert("Wystąpił błąd !5"); }
Jak temu zapobiec, proszę o cenne informacje i uwagi ? Pozdrawiam