Wenn Sie die URL-Parameterfunktion von Express verwenden, werden die Parameter automatisch decodiert. Das heißt, Prozentcodierte Entitäten werden in ihre normale Form aufgelöst. %20
wird durch ein Leerzeichen ersetzt.
Ein Plus +
wird jedoch nicht durch ein Leerzeichen ersetzt. Dies liegt vermutlich daran, dass Express intern decodeURIComponent()
verwendet, was auch nicht plus +
durch ein Leerzeichen ersetzt. Einfacher Beispielcode:
Wenn Sie /test%20test
anfordern, erhalten Sie test test
auf der Konsole. Wenn Sie /test+test
anfordern, erhalten Sie test+test
auf der Konsole.
Gibt es eine Möglichkeit, diese Betriebsart in Express 4 zu ändern? Ist das ein Fehler?
Sie versuchen mit + ein Leerzeichen im "URI-Teil" Ihrer Anfrage darzustellen. Das kannst du nicht tun. Ein Pluszeichen wird nur in Abfragezeichenfolgen in ein Leerzeichen umgesetzt.
Es ist kein Fehler. In URI-Spezifikationen (Seite 12/13 Ссылка ) ist das Pluszeichen ein reserviertes Zeichen, das nicht als Leerzeichen übersetzt werden soll .
Tags und Links node.js express decodeuricomponent