Podjąłem zastoswanie fetch and promises. Ogólnie zrozumiałem sens działania, ale nie rozumiem tego co się dzieje teraz z metodą. No to po kolei.
Miejsce wywołania. Przy okazji pytanie czy zwrot z readXML, zostanie przekazany do animowej funkcji?
var optionArr = new Array (); var Connect = new AJAX("GET" , "JS/class/XML/ValidateParam.xml" ); fetch(Connect.getXML()).then(function(XML) { alert (XML)//responseObject;return Connect.readXML(XML);}).then(function(XMLArr){optionArr = XMLArr;});
W miejscu pobierania, XML jest zwracany ale po wyjściu z połączenia, nagle ta sama zmienna zwraca NULL (WTF?????????). Wcześniej tu było ok.
var AJAX = function(method, file) { this.method = method; this.file = file; } AJAX.prototype.getXML = function () { var request = null; var xmlResponse = null; var XMLArr = new Array (); if (window.XMLHttpRequest){ request = new XMLHttpRequest (); } else if (window.ActiveXObject){ request = new ActiveXObject("Microsoft.XMLHTTP"); } if (request) { request.open(this.method , this.file); alert ('uruchamiam połączenie'); request.onreadystatechange = function () { if (request.readyState == 4){ alert ("OK"); xmlResponse = request.responseXML; alert ("Istniejesz? " + xmlResponse);// Tu istnieje. } } request.send(null); } else { alert ("Nie działczy"); // var error = new Error (); // error.CriticError(); return; } alert ("A tutaj już nie?...?" + xmlResponse); // teraz tez tu jest null; return xmlResponse; }
Co się mogło stać? Get wykonuje (jest obiekt XML)nagle rzuca , NetworkError: 404 Not Found - http://localhost/AmCalculator/[object%20XMLDocument] (Nie mam zielonego pojęcia skąd to jest wywołane)