Avatar billede meltinis Nybegynder
14. januar 2004 - 22:38 Der er 17 kommentarer og
1 løsning

Hvorfor virker min response.Redirect. ikke?

Jeg er på det sidste begyndt at komme ind i nogle problemer med response.redirect ikke!!!
Jeg får følgende fejl:
Response object error 'ASP 0156 : 80004005'

Header Error

/skrivbesked.asp, line 40

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

Hvad skal det betyde?
Avatar billede avlund Nybegynder
14. januar 2004 - 22:41 #1
Det er fordi du skal bruge Response.Redirect, før du udskriver så meget som et bogstav HTML. Den skal udføres, inden siden loades.
Avatar billede meltinis Nybegynder
14. januar 2004 - 22:43 #2
Jamen den ligger inden alt min HTML kode?!?!?!?
Godt nok så er det en side som kalder sig selv, men den burde da "starte forfra" når den kaldes.
Avatar billede meltinis Nybegynder
14. januar 2004 - 22:45 #3
Nååååå... jeg laver en <!--#include file... inden da. Kan man lave en include i ASP?
Avatar billede avlund Nybegynder
14. januar 2004 - 22:47 #4
Hvad mener du "om man kan"... er det ikke det du gør?

Jeg vil bare foreslå at du kører dit redirect-script inden din include.
Avatar billede avlund Nybegynder
14. januar 2004 - 22:47 #5
Kan du ikke bare køre din redirect inden din include?
Avatar billede avlund Nybegynder
14. januar 2004 - 22:48 #6
Hov, var ikke meningen at begge beskeder skulle frem. Men det virkede som om at den første ikke blev gemt, også selv om jeg refreshede.
Avatar billede meltinis Nybegynder
14. januar 2004 - 22:48 #7
Problemet er at jeg skriver til en database og så laver jeg en redirect.
Avatar billede meltinis Nybegynder
14. januar 2004 - 22:50 #8
I den fil som jeg inkluderer ligger nogle funktioner som jeg bruger i forbindelse med mit kald til databasen.
Avatar billede avlund Nybegynder
14. januar 2004 - 22:52 #9
OK. Så har du næsten ikke andet valg end at lægge din redirect ind i din include - eller lave en javascript redirect.
Avatar billede meltinis Nybegynder
14. januar 2004 - 22:57 #10
OK.. det gør jeg. Og jeg har fundet ud af det med funktionen :)
Function test(tal)
tal = tal + 1
test = tal
end function
Avatar billede eagleeye Praktikant
14. januar 2004 - 22:59 #11
Nogle gange er det fordi man skal sætte denne linje ind i toppen af den fil hvor der er en redirect:

<% Response.Buffer = true %>
Avatar billede meltinis Nybegynder
14. januar 2004 - 23:07 #12
Hvad gør den?
Avatar billede meltinis Nybegynder
14. januar 2004 - 23:09 #13
Ja nu virker den uden JavaScript... Du er sku en værre en eagleeye, men du får ingen point nu. Jeg skriver den bare på min IOU, ok?! :D
Avatar billede eagleeye Praktikant
14. januar 2004 - 23:14 #14
Den gør sådan at siden man bygger op bliver lagt i en buffer før den bliver sent til browseren. Det gør header informationen ikke bliver skrevet til browseren og man kan få lov at lave en redirect.
Det er afhængigt at hvilken server man køre det på. Specielt den "gamle" MS Personal Web Server i windows98/ME var meget følsom på det punkt.
Avatar billede meltinis Nybegynder
14. januar 2004 - 23:21 #15
Jeg skylder dig... men jeg synes at avlund har lagt et godt stykke arbejde her... selv om det ikke var lige så effektivt :)
Avatar billede avlund Nybegynder
14. januar 2004 - 23:25 #16
Jamen dog, tak for det. Hvis Eagleeye synes han fortjener dem mere end mig, skal han da bae sige til ellers...
Avatar billede steen_hansen Forsker
14. januar 2004 - 23:28 #17
Denne er også værd at tage med?

<%
Response.Buffer = True
Response.Expires = -1000
%>
Avatar billede meltinis Nybegynder
14. januar 2004 - 23:29 #18
Hvad gør den så?
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