CODE
function ajaks () { this.tekst = 'a'; var request = false; request = new XMLHttpRequest(); //tworzymy obiekt XMLHttpRequest this.insertData = function (zrodlo, cel) { var cel = document.getElementById(cel); request.open("GET", zrodlo, true); request.onreadystatechange = function () { if (request.readyState == 4) { //jeśli to, co było zarządane: źródło, cel.innerHTML = request.responseText; //to wstawiamy to to w cel } } request.send(null); //nic nie wysyłamy } this.getData = function (zrodlo) { request.tekst = 'b'; request.open("GET", zrodlo, true); request.onreadystatechange = function () { if (request.readyState == 4) { this.tekst = request.responseText; //1 } } request.send(null); return this.tekst; //2 } }
i problem jest taki, że w momencie 1 (metoda getData) pole tekst ma taką wartość, jakiej oczekuję: zawartość pliku, lecz, gdy już chcę zwrócić tą wartość w celu późniejszego wykorzystania, otrzymuję 'a', a nie zawartość pliku. Ktoś wie, jak sobie z tym poradzić/czemu to nie działa tak, jak ja chcę?
P.S. metoda insertData działa dokładnie tak jak oczekuję: wstawia zawartość pliku do diva, czego tylko zechcę