Avatar billede ataxx Nybegynder
21. maj 2003 - 14:37 Der er 9 kommentarer og
1 løsning

Fejl når jeg bruger Response.Redirect

Når jeg bruger Response.Redirect får jeg denne fejl:
Response object error 'ASP 0156 : 80004005'

Header Error

/dkindex.asp, line 501

The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.

Hva er en HTTP header, og hvad skal jeg gøre for at undgå problemet??
Avatar billede medions Nybegynder
21. maj 2003 - 14:44 #1
Der er fordi dine Response.Redirect() skal være før alt andet HTML parsing!
-prøv at lad mig se din kode!

//>Rune
Avatar billede aceofspair Nybegynder
21. maj 2003 - 14:49 #2
Response.redirect er en  HTTP-Header
Hvis du skal bruge response.redirect skal du have den stående som noget af det første på siden

Den fejl du får får du efter al sandsynlighed fordi at du har skrevet noget af html-koden
Avatar billede ataxx Nybegynder
21. maj 2003 - 14:51 #3
OK, men hva gør jeg så hvis jeg vil have hvae koden til at først udføre noget asp kode og så derefter gå videre til en anden side??

For som det lyder, så kan jeg slet ikke bruge response.redirect mere da jeg bruger den mange gange i samme asp fil.....
Avatar billede medions Nybegynder
21. maj 2003 - 14:53 #4
Så må du bygge det ind i en funktion!

//>Rune
Avatar billede ellebaek Nybegynder
21. maj 2003 - 15:00 #5
Sæt denne linie ind i headderen

<META HTTP-EQUIV="Refresh" CONTENT="1;URL=side.asp">

Så kan du selv ændre side.asp til noget andet, så kan siden nå at eksekvere det du vil have den til.
Du kan ændre tiden der skal gå inden der sendes videre der hvor der står 1, det kan du rette til noget andet...
Avatar billede ataxx Nybegynder
21. maj 2003 - 15:03 #6
Det sjove er bare at det fint virkede da jeg kørte siden over min egen IIS, men nu får jeg så den der fejl efter at jeg har fået den op på et webhotel.
Avatar billede ataxx Nybegynder
21. maj 2003 - 15:09 #7
Jeg takker for jeres mange svar muligheder, men det er nu ikke lige det jeg leder efter.

Jeg prøver om jeg kan forklare det.
Jeg har på min side et login felt (med brugernavn og password) når man indtaster noget der og trykker OK, så checker den om brugeren står i DB'en og kører så en response.redirect("admin.asp") eller noget i den stil.
Så er spørgsmålet så: Skal jeg bruge noget andet i stedet for response.redirect eller gør jeg noget forkert??
Avatar billede ellebaek Nybegynder
21. maj 2003 - 15:13 #8
Du skal bare sørge for at hele den del af asp-tagget du benytter står først på siden... Fx..

<%
sql = "select * bla bla "
set rs = rs.execute(sql)
tjekker om brugeren er logget ind rigtigt...
hvis ja.
response.redirect("admin.asp")
end if
%>
<html>
<head>
<title>
</title>
</head>
<body>
formen
</body>
</html>
Avatar billede ataxx Nybegynder
21. maj 2003 - 15:31 #9
Nå men det er der jo ikke noget at gøre ved.....jeg kan se se på det hele at jeg nok kommer til at lave alt min kode om :( for jeg bruger response.redirect rigtig mange gange, også i samme asp fil, bare flere forskellige steder......det der sq da noget lort.
Synes bare stadig at det er mærkeligt at det virkede under min egen IIS men ikke på webhotellet (som også kører på en windows maskine.....så den kører nok også IIS)
Avatar billede p_johansen Nybegynder
22. maj 2003 - 10:28 #10
Jeg bruger denne med held!
<%response.write "<script type=text/javascript>parent.main.location.href='tableid_sider.asp';</script>" %>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester