ugrás a tartalomhoz

XMLHttpRequest + Header/META equiv...

ASN · 2007. Ápr. 28. (Szo), 14.54
Van egy fájl, ami meghív egy HTTPXmlRequestet, ebben lenne egy olyan hivatkozás, ami másik oldalra irányítja a felhasználót, de ez nem működik ebben a formában. Ki lett próbálva header-el és meta equiv-el is, de egyiknél se vált át a kért oldalra, mi lehet a megoldás?
 
1

http status kódok

razielanarki · 2007. Ápr. 28. (Szo), 19.13
elvileg működnie kéne a header('location: http://valami')-vel, de a biztonság kedvéért én küldenék mellé még egy http fejlécet is, mert a specifikáció szerint egy xmlhttprequestnek transzparensen kezelni kéne a 301, 302, 303 és 307-es http status kódokat.

(ezt akkor találtam, amikor utánanéztem hogy a 304 not modified-et miért nyeli le :)

alapesetben a php küld egy 302-t a location mellé, de ezt csak GET requesteket irányítja át (ha jól tévedek)

w3c xmlhttprequest
http 1,1 3xx kódok

B. megoldás: kiküldesz egy "akármilyen" valid status kódot (ami nem 304 ill 200, én pl a 204-et használom not modifiednek), és az onreadystatechange kezelődben ha ezt a statust kapod, csinálsz még 1 kérést az xmlhttp.getResponseHeader('Location')-nal visszakapott címre.