2 Stimmen

Request.Form für eine Textarea liefert falsche Daten

Dies ist ein sehr seltsamer Fehler, der nur mit Firefox 3.5 auftritt. Ich habe es für IE, Safari und Chrome getestet und keine Fehler festgestellt.

Ich benutze meinen localhost IIS 5.1 und Ihr altes asp.

Ich habe es geschafft, den Umfang auf Folgendes zu reduzieren... Ich habe eine Textarea in einem Formular, gefüllt mit 4000 Zeichen, zum Beispiel.

< textarea name="obs" id="obs" cols="75" rows="10">...< /textarea >

Ich übermittle es an page.asp.

Auf dieser Beispielseite mache ich gerade:

    response.Write Request.Form( "obs" )
    response.End

In 80 % der Fälle beendet firefox das Laden nicht (er wartet auf localhost...) und ich sehe, dass die Zeichenfolge "Server:Microsoft-IIS/5.1Date:Tue,01Sep200915:55:01GMTContent-Type:text/html;charset=iso-8859-1" an einer zufälligen Stelle im Text eingefügt wurde. Außerdem ist das Ende des Textes abgeschnitten (ich nehme an, darauf wartet Firefox...).

Wenn Firefox normal geladen wird, ist der Server-String nicht enthalten.

Natürlich kann ich diese Daten nicht in die Datenbank schreiben... ;-D

Vielen Dank fürs Lesen und ich freue mich über jede Idee dazu.

EDIT: Ich habe meinen PC neu gestartet und alle Firefox-Plugins und -Erweiterungen deaktiviert und der Fehler "funktioniert" weiterhin :-(

3voto

AnthonyWJones Punkte 182582

Es ist ein bisschen seltsam. Ich habe einige Tests durchgeführt und ich bin nicht immer das gleiche Problem.

Vermutlich haben Sie die Antwortpufferung in ASP auf false gesetzt, aber FF versteht die resultierende Chunked-Kodierung nicht. Warum Ihr FF nicht funktioniert, weiß ich nicht, da er auf meiner Version 3.5 mit oder ohne Chunked Encoding gut funktioniert.

Können Sie die Qualität der Reproduktionsdetails in Ihrer Frage verbessern. Ich benutze diese ASP-Seite als Test: -

<%
If Request.QueryString("function") = "post" Then
    Response.Buffer = False
    Response.Write Request.Form("obs")
    Response.End
End If 
%>
<html>
<head>
</head>
<body>
<form action="test.asp?function=post" method="post">
    <textarea name="obs" id="obs" cols="75" rows="10">
              <!-- Loads of text here -->
    </textarea >
    <input type="submit" value="go" />
</form>
</body>
</html>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X