Chyba, když nastanou dva AJAXové požadavky
- mordare
- Začátečník | 117
Zdravim.
Mám interní systém a využívám nette ajax pro invalidaci snippetu
časomíry v pravidelných intervalech. Vše je OK dokud například neotevřu
stránku kde mám tabulku, kterou můžu filtrovat.
Filtr je formulář, který se po změně odešle a invaliduje snippet
s tabulkou. Většinou je to v pořádku, ale když se stane že se mi povede
vyvolat jak AJAXový požadavek u tabulky a AJAXový požadavek pro časomíru,
nastane nějaká chyba (viz. laděnka dole). Smažou se mi všechny Session a
odhlási to uživatele.
Ve zkratce: Dva AJAXové požadavky se mi vyvolají ve stejnou chvíly. Smažou se mi SESSION a odhlásí to uživatele.
Aplikace běží na Nette 2.3.10
Laděnka:
Warning: session_regenerate_id(): Session object destruction failed in vendor\nette\http\src\Http\Session.php:221
Invalidace časomíry:
<script>
function redrawSnippets(){
$.nette.ajax({
url: {link redrawSnippets! name=>"todayTime"}
error: function(jqXHR, status, error){
console.log(jqXHR);
console.log(status);
console.log(error);
}
});
}
setInterval(function(){
redrawSnippets()
}, 15 * 1000);
</script>
Prosím nesetkali jste se s tím někdo? Nebo nevíte jak to vyřešit aby to alespoň nemazalo ty SESSION?
Díky
Editoval mordare (19. 9. 2016 16:23)
- mordare
- Začátečník | 117
Můžu se zeptat jak na to vypnutí toho Unique? V jedné z verzí toho dotazu sem tam i něco s tím Unique měl, ale nevím jestli to bylo dobře, ale hlavně to nic nezměnilo.
<script>
function redrawSnippets(){
$.nette.ajax({
url: {link redrawSnippets! name=>"todayTime"},
off: ['unique'],
error: function(jqXHR, status, error){
console.log(jqXHR);
console.log(status);
console.log(error);
}
});
}
setInterval(function(){
redrawSnippets()
}, 15 * 1000);
</script>
ps.: PHP tam máme verzi 5.6
ps2.: system info http://prntscr.com/cjx234
Editoval mordare (19. 9. 2016 20:30)
- mordare
- Začátečník | 117
Nijak sem Storage nepřenastavoval oproti základnímu Nette, tj. by mělo byt asi ve FileStorage.
To že se SESSION uzamkne na to sem přišel, ale je mi záhadou, proč když se objeví druhý požadavak tak nepočká až je SESSION volná. Místo toho se ji to snaží (asi) vygenerovat znova.
- mordare
- Začátečník | 117
Chybu sem stálé nevyřešil. Ale už to začíná opravdu zavazet. Například v administraci máme filtr na textové vyhledání dat v tabulce a ve chvíli kdy napíšu rychle slovo (odešle se několikrát formulář) a dostanu opět výše zmíněnou chybu a odhlásí mě to.
ps: někdy to zahlásí tu chybu jen při obyčejném refreshi stránky
ps2: Nefunguje nám díky tomu ani addProtection u formulářu.
Editoval mordare (31. 3. 2017 10:34)
- mrfazolka
- Člen | 24
přidal bych se k dotazu – při uploadu více obrázků naráz pomocí https://blueimp.github.io/…File-Upload/ dostávám stejnou chybu – Warning: session_regenerate_id(): Session object destruction failed