Frage

Mein Java-Server funktioniert wie folgt:

http://locahost:5555/?search="java"

Der obige Link würde gut funktionieren.Wenn ich jedoch jemals „#“ als Teil der Suchzeichenfolge verwenden möchte, geht alles schief.Zum Beispiel:

http://locahost:5555/?search="c#"

Aus irgendeinem Grund wird alles nach „#“ ignoriert.Wenn ich die entschlüsselte Version von „#“ verwende, funktioniert es wieder einwandfrei.Zum Beispiel:

http://locahost:5555/?search="c%23"

Das System sollte von Personen verwendet werden, die sich mit der URL-Kodierung nicht auskennen, sodass sie niemals %23 anstelle von # eingeben würden.Gibt es überhaupt etwas drumherum?

War es hilfreich?

Lösung

Der Benutzer sollte angeblich nicht direkt auf die URL zugreifen, wenn sie "c #" in die URL einfügen, dass es keinen Prozess gibt, andererseits Sie können Sie verwenden

generasacodicetagpre.

damit kümmert es sich um die Sonderzeichen wie "#", die Sie erwähnt haben.

Vergessen Sie nicht, den Parameter in Ihrem Controller zu fangen

generasacodicetagpre.

Andere Tipps

Außer es zu kodieren, führt kein Weg daran vorbei.Mehr über die Zeichenfolge danach # behandelt als die location der URL.

String danach # wird nicht über GET-Parameter an den Server übergeben.Verwenden Sie stattdessen die POST-Methode.

https://developer.mozilla.org/en-US/docs/Web/API/Window.location

Es ist im Browser.Der Server erhält nie eine Anforderung mit dem Hashtag-Symbol (#), nur bis zum Symbol.

Eine Javascript-Problemumgehung ist wahrscheinlich eine schlechte Idee.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top