webForumDet fria alternativet

response.redirect i safari.

ASP

3 svar · 476 visningar · startad av andyoumaydie

Medlem sedan dec. 2006608 inlägg
Frågan#1

Hallå hallå,
sitter o pillar lite med en sida, som jag fick för mig att testa i safari, det skulle jag aldrig gjort... :)

Använder mig på flera ställen av:

response.redirect "?var1=värde1&var2=värde2"

Men det verkar inte gillas överhuvudtaget.

Speciellt inte om jag kör två på raken, t ex 'submittar' ett formulär med

action="?page=sparaform&anvid=12"

och när den kört sidan sparaform så har vi

response.redirect "?page=allainlagg&anvid=12"

Då har vi följande url i safari:
http://www.mindomän.com?page=sparaform&anvid=12?page=allainlagg&anvid=12
Vilket givetvis inte blir helt bra.

Så hur gör jag för att ordna till det här?

Medlem sedan mars 20041 505 inlägg
#2

Jag har också upplevt problem med redirect i Safari.
Det var visserligen PHP då, men i grund och botten är det ett HTTP-header-problem.
När man gör en Response.Redirect så skapas en HTTP-header av typen Location.
Enligt specifikationen för HTTP/1.1 så måste URL:en för Location vara fullständig, dvs. hela adressen inkl. protokoll, domän och sökväg måste finnas där.
Men många webbläsare accepterar en relativ URL, ex. "?page=allainlagg&anvid=12".
Safari däremot verkar vara lite mer strikt och har problem med vissa relativa URL:er.
Jag vill minnas att jag löste detta genom att slänga dit en extra slash, såhär:

response.redirect "/?page=allainlagg&anvid=12"

Det skulle vara bra om något med lite kunskap om HTTP kunde ge lite mer info om hur det egentligen ligger till.

Medlem sedan dec. 2006608 inlägg
#3

Istället för att lägga till en "/" varje gång så skapade jag helt enkelt en konstant med hela url:en fram till variablerna.

Då har jag alltid korrekt url. Men tack för en puff i rätt riktning. :)

Troxy skrev:

Men många webbläsare accepterar en relativ URL, ex. "?page=allainlagg&anvid=12".

Det var därför jag tyckte det var lite skumt, för jag har aldrig upplevt att det blivit fel i de webläsare jag testat i innan.

Medlem sedan mars 20041 505 inlägg
#4

Bra att du valde att returnera kompatibla HTTP-headers. (y)

290 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
134 ms — deklarationer (db)
0 ms — hämta statistik (cache)
153 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)