Crew algemeen |
|
Als een php pagina een sessie maakt stuurt hij een cookie met daarin een sessie id naar de browser. Jij vraagt met Ajax die pagina op, en die pagina stuurt dan ook een header mee dat er een sessie-cookie moet worden gemaakt. Alleen doet Ajax niets met die headers, en wordt er geen cookie gezet waardoor de sessie verloren gaat.
Edit:
Dit kan je wel verhelpen door met ajax een cookie mee te sturen. Dat gaat zo:
- Op de pagina die je opvraagt echo je het php sessie id
- Die vis je op een of andere manier uit de hele response
- Bij elke volgende request stuur je een cookie header mee
Je kent vast deze wel:
requestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
Waar je requestObject zelf hebt aangemaakt, op zo'n zelfde manier voeg je deze header toe:
requestObject.setRequestHeader('Cookie', 'PHPSESSID=' + devarwaarhetsessieidinstaat);
Ik heb het zelf even getest, maar als je op deze manier een cookie verstuurt kan de php pagina hem in ieder geval lezen! |