Mein Problem ist das folgende. Ich habe eine XHTML 1.1 Seite, die ein Formular und Eingabefelder hat. Eines der Eingabefelder enthält einen Wert, der ein URI ist. Dieser URI enthält Schlüssel/Wert-Paare mit einem kaufmännischen Und (&) als Argumenttrennzeichen, das als GET-Anforderung von einer anderen Webanwendung im Browser übergeben wird.How-to XHTML 1.1 validieren ein kaufmännisches Und, ohne es zu entkommen?
Normalerweise würde ich die Entität &
verwenden, um die Et-Zeichen zu erstellen, um den Code als XHTML 1.1 zu validieren. Mein Problem hier ist, dass die Anwendung die GET-Anfrage nicht erhält, da (wie erwartet) der Browser nicht versteht, wie man &
in der URI behandelt.
Also meine Frage ist wirklich, wie man ein kaufmännisches Und ohne die HTML-Entität schreiben, so dass der Browser es immer noch als Argument Trennzeichen erkennt und die GET-Anfrage ordnungsgemäß an die Web-App weitergeleitet wird.
Ich versuchte Hex (% 26), das kaufmännische Und-Zeichen zu kodieren, aber der Browser "übersetzt" es immer noch nicht in ein richtiges & Zeichen.
Eine verwandte Frage, aber es bietet keine genaue Antwort auf die Frage Ich frage:
XHTML and & (Ampersand) encoding
"(wie erwartet) der Browser nicht versteht, wie' zu handhaben & 'in der URI" - das ist ** nicht ** wie erwartet Sie sollte '&' nicht in der Adressleiste angezeigt werden, es sei denn, Sie haben es doppelt codiert. –
Bitte lesen Sie die Frage noch einmal. Die Ampersands sind Teil eines URI, der im Wertfeld eines Inputs enthalten ist. Nachdem das Formular abgeschickt wurde, wird der Benutzer an den gleichen Ort zurückgeschickt, so wie er geschrieben wurde. Das bedeutet, dass ich entweder die Und-Zeichen nicht-codiert belasse, aber die Validierung versage, oder ich kodiere sie mit dem Problem, dass der Browser die HTML-Entität in der Adressleiste erhält und die Abfrage-Zeichenfolge nicht an die nächste App im Prozess weitergibt. –
Der Browser sollte die '&' nach '&' dekodieren, wenn das HTML in ein DOM konvertiert wird. Es sollte dann das '&' als '% 26' codieren, wenn die URL oder x-url-form-codierte Daten erstellt werden. Wenn es nicht funktioniert, vermute ich, dass Sie die Daten auf dem Server falsch behandeln. – Quentin