/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
For lang querystring?
Fra : Stig Holmberg


Dato : 27-01-04 11:16

Jeg har en form der ikke vil sendes hvis action står til "GET", så snart jeg
sætter den til "POST" virker det.

Min form indeholder ret mange felter (ca. 200) og jeg har læst at der er
visse begrænsninger på længden af en querystring.

Har i nogle erfaringen i den retning?

Mvh. Stig


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.564 / Virus Database: 356 - Release Date: 19-01-2004



 
 
Jesper Stocholm (27-01-2004)
Kommentar
Fra : Jesper Stocholm


Dato : 27-01-04 11:37

Stig Holmberg wrote :

> Jeg har en form der ikke vil sendes hvis action står til "GET", så
> snart jeg sætter den til "POST" virker det.
>
> Min form indeholder ret mange felter (ca. 200) og jeg har læst at der
> er visse begrænsninger på længden af en querystring.
>
> Har i nogle erfaringen i den retning?

Jeg syntes, at jeg kunne huske en øvre begrænsning på IEs max-længde for
en URI, der var på ca. 4096 tegn - men [1] indikerer, at den måske
snarere er 2983 tegn. Hvis du tilgår internettet via en proxy, så kan den
også klippe i den.

Hvor lange er de data du sender med - og hvorfor bruger du ikke bare
POST?



[1] http://216.239.39.104/search?q=cache:eYQXxMCJhl0J:www.jetools.com/content/resources/whitepapers/HTTP_GET_Requests.pdf+internet+explorer+maximum+length+url+uri&hl=en&ie=UTF-8

--
Jesper Stocholm
http://stocholm.dk

Gør Christiania en tjeneste og køb din hash et andet sted.

Stig Holmberg (27-01-2004)
Kommentar
Fra : Stig Holmberg


Dato : 27-01-04 12:21

Jesper Stocholm <j@stocholm.invalid> wrote

> Jeg syntes, at jeg kunne huske en øvre begrænsning på IEs max-længde for
> en URI, der var på ca. 4096 tegn - men [1] indikerer, at den måske
> snarere er 2983 tegn. Hvis du tilgår internettet via en proxy, så kan den
> også klippe i den.
>
> Hvor lange er de data du sender med - og hvorfor bruger du ikke bare
> POST?
>
>
>
> [1]
http://216.239.39.104/search?q=cache:eYQXxMCJhl0J:www.jetools.com/content/resources/whitepapers/HTTP_GET_Requests.pdf+internet+explorer+maximum+length+url+uri&hl=en&ie=UTF-8
>
> --
> Jesper Stocholm
> http://stocholm.dk
>

Hej

Jeg er ikke helt klar over hvor mange karakterer jeg får sendt afsted ialt,
hvert felt indeholder data fra ca. 2 til 10 karakterer i længden og dertil
kommer navnene på felterne så det skal nok overskride den grænse.

Ville være praktisk med en fejlmeddelelese fra IIS eller browseren, men der
sker bare intet når man prøver at sende formen.

Jeg bruger ikke POST grundet at jeg har brug for at sende alle dataerne fra
den oprindelige form videre mellem forskellige sider og det har jeg fundet
ud af hvordan jeg gør med GET metoden, ved ikke hvordan jeg gør det med POST
metoden.

Jeg gør det med GET metoden således, fra den modtagende side:

strQ = Request.QueryString ' Opsamler alle formdata fra den sendende side
response.Redirect("side3.asp?" & strQ) ' Sender alle data videre til en
anden side

Vil gerne vide hvordan jeg gør det tilsvarende med POST metoden.

Mvh. Stig


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.564 / Virus Database: 356 - Release Date: 19-01-2004



Jens Gyldenkærne Cla~ (27-01-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 27-01-04 12:26

Stig Holmberg skrev:

> Ville være praktisk med en fejlmeddelelese fra IIS eller
> browseren, men der sker bare intet når man prøver at sende
> formen.

Jeg ved ikke om IIS overhovedet er klar over at der er en fejl.
Hvis browseren bare klipper querystringen over ved maksgrænsen, kan
IIS jo ikke vide at der mangler noget.


> Jeg bruger ikke POST grundet at jeg har brug for at sende alle
> dataerne fra den oprindelige form videre mellem forskellige
> sider

Er det en nødvendighed?


> Vil gerne vide hvordan jeg gør det tilsvarende med POST
> metoden.

Du kan så vidt jeg ved ikke lave et POST-request til en anden side,
men du kan gemme formindhold i sessionvariable og tilgå det derfra.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Stig Holmberg (27-01-2004)
Kommentar
Fra : Stig Holmberg


Dato : 27-01-04 13:15

Jens Gyldenkærne Clausen wrote

> > Ville være praktisk med en fejlmeddelelese fra IIS eller
> > browseren, men der sker bare intet når man prøver at sende
> > formen.
>
> Jeg ved ikke om IIS overhovedet er klar over at der er en fejl.
> Hvis browseren bare klipper querystringen over ved maksgrænsen, kan
> IIS jo ikke vide at der mangler noget.

Det virker ikke som om det er det der er tilfældet, for hvis den klippede
querystring blev sendt ville man vel kunne se det i browserens URL-felt,
derimod virker det som om der slet intet sker, der være sig lokalt på min
maskine og på webhotellet.

>
> > Jeg bruger ikke POST grundet at jeg har brug for at sende alle
> > dataerne fra den oprindelige form videre mellem forskellige
> > sider
>
> Er det en nødvendighed?
>

Ja, jeg har brug for (næsten) alle dataerne bliver sendt mellem flere sider,
det er sikkert ikke den smarteste måde jeg bruger, men kender ikke andre.


> > Vil gerne vide hvordan jeg gør det tilsvarende med POST
> > metoden.
>
> Du kan så vidt jeg ved ikke lave et POST-request til en anden side,
> men du kan gemme formindhold i sessionvariable og tilgå det derfra.

Ved ikke hvordan jeg gemmer/henter i sessions variabler, men hvis jeg kunne
gemme resultatet af en request.form i en sådan og derefter tilgå den fra
alle sider ville det være optimalt.

Mvh. Stig


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.564 / Virus Database: 356 - Release Date: 19-01-2004



pepss (27-01-2004)
Kommentar
Fra : pepss


Dato : 27-01-04 13:29


"Stig Holmberg" skrev

> Ved ikke hvordan jeg gemmer/henter i sessions variabler, men hvis jeg
kunne
> gemme resultatet af en request.form i en sådan og derefter tilgå den fra
> alle sider ville det være optimalt.

det kan du læse om her:
http://www.html.dk/tutorials/asp/lektion12.asp
det er der ikke så mange ben i!

--
Pepss
Den ordblinde der prøver at blive webdesigner
Fræk frækkere www.cafe-flirt.dk



Thomas Møller Nexø (30-01-2004)
Kommentar
Fra : Thomas Møller Nexø


Dato : 30-01-04 13:39

> Det virker ikke som om det er det der er tilfældet, for hvis den klippede
> querystring blev sendt ville man vel kunne se det i browserens URL-felt,
> derimod virker det som om der slet intet sker, der være sig lokalt på min
> maskine og på webhotellet.

Har selv haft samme problem og fandt ud af at en querystring kun kunne være på
lidt over 1700 tegn. Da jeg havde et felt af typen notat hvor der kunne
forekomme ret mange tegn afhængig af en nyheds længde kunne man ikke altid
sende en nyhed til den næste side, der er en valideringsside - altså hvor alt
det valgte/skrevede vises før man poster til databasen.
Jeg valgte så at benytte post fra den første side hvor selve formen er placeret
og på den næste side, sætte de indtastede data, ind i session variable vha.
session("etEllerAndet") = Request.Form("etEllerAndet").

På denne måde kom jeg rundt om problemet.
Hvis du bruger denne metode skal du bare slette session variablene sidst i din
kode efter de er skrevet til databasen for at frigøre ressourcer på serveren.

> >
> > > Jeg bruger ikke POST grundet at jeg har brug for at sende alle
> > > dataerne fra den oprindelige form videre mellem forskellige
> > > sider

En anden måde du kan komme udenom problemet med en for lang querystring på og
samtidig benytte post metoden er, at du kan poste via en indtastningsform fra
"side1.asp" til "side2.asp".

På side2.asp sætter du så værdierne fra Request.Form("etEllerAndet") ind i
variable, der så postes videre til "side3.asp" som hidden fields i formen på
side2.asp. De kan så igen trækkes ud på side3.asp og benyttes til enten
skrivning til en database eller andet du måtte have brug for.

Håber dette kunne bruges.

Med venlig hilsen,
Thomas

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste