Usiłuję napisać program, który przeładuje mi stronę i uruchomi na tej nowej stronie funkcję, która z kolei umieści fragment kodu.
W skrócie - jak klient zakończy edycję swojej oferty by mógł wrócić do listy swoich ofert.
Mam 3 pliki
- panel.php
- modyfikowanie.php
-listaOfert.php
W pliku panel.php umieszczona jest następująca funkcja js.
function listaOfert(){ var url = "user/listaOfert.php"; var hr = new XMLHttpRequest(); hr.open("POST", url, true); hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); hr.onreadystatechange = function() { if(hr.readyState == 4 && hr.status == 200) { var return_data = hr.responseText; document.getElementById("miejsce").innerHTML = return_data; } } hr.send(); // Actually execute the request document.getElementById("miejsce").innerHTML = "processing..."; }
Funkcja ta po jej uruchomieniu w miejsce diva "miejsce" umieszcza zawartość pliku listaOfert.php (i działa bez zarzutów)
Drugi plik to modyfiikowanie - tu mamy następującą funkcję:
function lista(){ var miejsce = location.href; if(miejsce=="http://www.tradebest.pl/panel.php"){ }else{ location.href="http://www.tradebest.pl/panel.php"; } listaOfert(); }
Ta funkcja sprawdza gdzie jesteśmy i przenosi nas do strony panel.php po czym uruchamia funkcję listaOfert().
I teraz zagwozdka.
Jak uruchamiam funkcję listaOfert będąc w pliku panel.php to działa bez zarzutów,
Natomiast kiedy uruchomię ją będąc w pliku modyfikowanie.php pojawia mi się komunikat
InvalidStateError: XMLHttpRequest has an invalid context.
i nie bardzo wiem jak to poprawić.