Autor | Zpráva | ||
---|---|---|---|
freeTel Profil * |
#1 · Zasláno: 1. 4. 2020, 11:09:23
Dobrý den, chci se zeptat na problém ohledně paměti prohlížeče. Napíšu text, ale změna se projeví po druhém volání. Hledal jsem na internetu vypnutí cashe v javasrciptu a zase null count :-) Třeba mám jen chybný zápis, ale vše funguje jak má až na dvojí kliknutí. Volám to klasicky: onclick="odeslat()"
function odeslat(){ var tx = document.form.text.value; alert(tx); var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function(){ if(this.readyState == 4 && this.status == 200){ document.getElementById("odeslat").innerHTML = this.responseText; } }; document.getElementById("odeslat").innerHTML = '<div class="loader"><div><p>Probíhá odesílání e-mailu. Prosím vyčkejte na dokončení procesu.</p><p><img src="/img/preloader.gif"></p></div></div>'; xmlhttp.open("GET","/php/info.php?text="+tx+"&send=Y",false); xmlhttp.send(false); } |
||
Tomáš123 Profil |
#2 · Zasláno: 1. 4. 2020, 12:17:38
freeTel:
Pri vývoji používaj tvrdý reload — Ctrl + R, Ctrl + Shift + R, myslím, že v niektorom prehliadači je tá skratka aj Ctrl + F5 alebo niečo podobné. |
||
freeTel Profil * |
#3 · Zasláno: 1. 4. 2020, 17:38:35
tvrdý reload? To asi v ajaxu nepůjde
|
||
Radek9 Profil |
#4 · Zasláno: 1. 4. 2020, 17:46:20
freeTel:
Cache se dá obejít tím, že nějakým způsobem změníš adresu. Stačí něco přidat do query. Třeba takhle: xmlhttp.open("GET", "/php/info.php?text=" + tx + "&send=Y&time=" + Date.now(), true) Taky určitě nepoužívej synchronní request, dělá to jen problémy. Třetí parametr metody open by měl být true .
|
||
freeTel Profil * |
#5 · Zasláno: 1. 4. 2020, 17:53:43
Chová se to úplně stejně. Ono to zasekává javascript. Ten potřebuje refresh 2x. php vypisuje doře. Zjistil jsem to testem na alert. Tam mi to vypisuje dobře až po druhé události
|
||
Radek9 Profil |
#6 · Zasláno: 1. 4. 2020, 18:13:29
freeTel:
„Ono to zasekává javascript.“ Můžeš to zkusit lépe popsat? V tomhle kusu kódu nevidím momentálně nic, co by mělo způsobovat problém. Případně dodej odkaz na živou ukázku. |
||
freeTel Profil * |
#7 · Zasláno: 1. 4. 2020, 18:29:16
Mám to na localhostu. V textarea napíšu text, ale při přvním volání onclick="odeslat()" mi nevypíše v alertu nic až při druhém volání (onclick)
var tx = document.form.text.value; alert(tx); |
||
Radek9 Profil |
#8 · Zasláno: 1. 4. 2020, 18:44:59
freeTel:
„Mám to na localhostu.“ Zkus zprovoznit nějakou minimální živou ukázku. Jinak se nehneme. „V textarea napíšu text, ale při přvním volání onclick="odeslat()" mi nevypíše v alertu nic až při druhém volání (onclick)“ V tom případě není problém v AJAXu ani v keši. |
||
freeTel Profil * |
To je zvláštní, že v ukázce to maká jak má. www.w3schools.com/code/tryit.asp?filename=GDER32C4A6C3
už vím, kde je problém. Kříží se mi to s javascriptem WYSIWYG |
||
Časová prodleva: 4 roky
|
0