Forum » Izdelava spletišč » Ajax readyState == 3 ne deluje?
Ajax readyState == 3 ne deluje?
Housy ::
Zdravo
Nikakor mi ne uspe usposobiti tale ajax readyState. Kar želim doseči je, da se uporabniku prikaže text "LOADING" medtem, ko se php skripta izvaja. ReadyState 4 recimo deluje pravilno, torej skrije posamezne elemente in prikaže končen response tam, kjer želim. Zalomi se samo pri readyState 3.
Probal sem v chrome, safari, firefox, ie, opera in vsepovsod je enak problem.
Trenutno imam narejeno takole:
Kaj delam narobe?
Hvala in lp,
Housy
Nikakor mi ne uspe usposobiti tale ajax readyState. Kar želim doseči je, da se uporabniku prikaže text "LOADING" medtem, ko se php skripta izvaja. ReadyState 4 recimo deluje pravilno, torej skrije posamezne elemente in prikaže končen response tam, kjer želim. Zalomi se samo pri readyState 3.
Probal sem v chrome, safari, firefox, ie, opera in vsepovsod je enak problem.
Trenutno imam narejeno takole:
ajaxRequest.onreadystatechange = function() { if(ajaxRequest.readyState == 3) { document.getElementById("audio").style.display = 'none'; document.getElementById("video").style.display = 'none'; document.getElementById("response").style.display = 'block'; document.getElementById("response").innerHTML = 'Loading ...'; } if(ajaxRequest.readyState == 4) { document.getElementById("audio").style.display = 'none'; document.getElementById("video").style.display = 'none'; document.getElementById("response").style.display = 'block'; document.getElementById("response").innerHTML = ajaxRequest.responseText; } }
Kaj delam narobe?
Hvala in lp,
Housy
Housy ::
Javi 2 napaki in sicer:
- Refused to set unsafe header "Content-length"
- Refused to set unsafe header "Connection"
Ampak kljub temu se php skripta vseeno izvede do konca. Sta ravno ti dve napaki krivi za nedelujoč readystate 3?
Hvala in lp,
Housy
- Refused to set unsafe header "Content-length"
- Refused to set unsafe header "Connection"
Ampak kljub temu se php skripta vseeno izvede do konca. Sta ravno ti dve napaki krivi za nedelujoč readystate 3?
Hvala in lp,
Housy
Lion29 ::
huh... je kar painfully gledat kolk se nekdo muci se z vanilla JS
sorry nimam konkretnega predloga kako resiti tvoj problem
sorry nimam konkretnega predloga kako resiti tvoj problem
Founder and CTO @ Article-Factory.ai
Housy ::
Ta dve headerja sploh ni potrebno nastaviti, saj jih brskalnik zaradi varnostnih razlogov nastavi kar sam - klik
Sem zdaj odstranil, ampak me zdaj nekaj WAMP heca
Sej to se ti lahko zmeša x)
Bom naložil XAMPP in stestiram pa javim, če zadeva deluje ali ne.
Se da še kako drugače preverjati readyState?
Sem zdaj odstranil, ampak me zdaj nekaj WAMP heca
Sej to se ti lahko zmeša x)
Bom naložil XAMPP in stestiram pa javim, če zadeva deluje ali ne.
Se da še kako drugače preverjati readyState?
Zgodovina sprememb…
- spremenil: Housy ()
Housy ::
Kako naj nardim, da se prikaže neka GIF loading animacija medtem, ko se php skripta izvaja?
Torej imam obrazec in ko uporabnik izpolni podatke ter pritisne na gumb "POŠLJI" želim, da se najprej prikaže loading.gif in success.gif na koncu.
Če nardim na spodnji način, ne deluje, zato sem mislil, da bi uporabil ajax in readyState 3, ki pomeni loading.
Torej imam obrazec in ko uporabnik izpolni podatke ter pritisne na gumb "POŠLJI" želim, da se najprej prikaže loading.gif in success.gif na koncu.
Če nardim na spodnji način, ne deluje, zato sem mislil, da bi uporabil ajax in readyState 3, ki pomeni loading.
<?php if(isset($_POST["submit"])) { // skrijem posamezne elemente // prikažem section, v katerem se nahaja slika loading.gif echo "<script type='text/javascript'>"; echo "document.getElementById('audio').style.display = 'none';"; echo "document.getElementById('video').style.display = 'none';"; echo "document.getElementById('loading').style.display = 'block';"; echo "</script>"; ... MOJA PHP KODA ... // skrijem loading section // prikažem section za uspešno izvedeno skripto echo "<script type='text/javascript'>"; echo "document.getElementById('loading').style.display = 'none';"; echo "document.getElementById('success').style.display = 'block';"; echo "</script>"; } ?>
Lion29 ::
treoj tako.... v prvi fazi uporabi jQUERY in ne izumljaj tople vode....
v drugi fazi se te stvari izvajajo client side in ne server side...
torej ko sprozis nek zahtevek (ajax) z java scripto prikazes loading...
ko dobis od zahtevka nazaj status (success, error) skrijes loading element in zalaufas ustrezno rutino glede na status (in podatke), ki si jih prejel
v drugi fazi se te stvari izvajajo client side in ne server side...
torej ko sprozis nek zahtevek (ajax) z java scripto prikazes loading...
ko dobis od zahtevka nazaj status (success, error) skrijes loading element in zalaufas ustrezno rutino glede na status (in podatke), ki si jih prejel
Founder and CTO @ Article-Factory.ai
Housy ::
Hvala Lion29, dela zdaj
Sicer sem rešil brez uporabe jQuery-ja, če pa bo slučajno morda kdo rabil, lahko nardi na spodnji način.
Tnx še enkrat
Lp, Housy
Sicer sem rešil brez uporabe jQuery-ja, če pa bo slučajno morda kdo rabil, lahko nardi na spodnji način.
... ajaxRequest.open("POST", url, true); ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); ajaxRequest.send(parameters); document.getElementById("audio").style.display = 'none'; document.getElementById("video").style.display = 'none'; document.getElementById("response").style.display = 'block'; document.getElementById("response").innerHTML = 'LOADING!!!'; ajaxRequest.onreadystatechange = function() { if(ajaxRequest.readyState == 4) { document.getElementById("response").innerHTML = ajaxRequest.responseText; } }
Tnx še enkrat
Lp, Housy
Zgodovina sprememb…
- spremenil: Housy ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Slo-tech - kako blokirati nadležne uporabnike (strani: 1 2 )Oddelek: Loža | 11735 (7982) | jype |
» | [ajax] osnoveOddelek: Programiranje | 1064 (908) | Volk| |
» | Show/hide rows tabelah (javascript)Oddelek: Izdelava spletišč | 1025 (1025) | Tody |
» | [Ajax in Java] v IE6 dela, v Firefoxu neOddelek: Programiranje | 1912 (1666) | krho |
» | [JavaScript] display=bolock/noneOddelek: Izdelava spletišč | 1042 (994) | MasterBlaster |