ich diese und weitere Artikel gelesen haben:Fest Javascript kodieren uri
When are you supposed to use escape instead of encodeURI/encodeURIComponent?
Noch habe ich keine feste Encoder/Decoder uri Lösung gefunden.
Lassen Sie uns sagen, ich habe diese Variablen
var first = 'Hello&and';
var second = "Let's have cite";
var third = 'And "hash,.#$';
var fourth = 'åäö other strange chars';
Eine unverschlüsselte URL wäre:
var url 'http://example.com/?first=' + first + '&second=' + second + '&third=' + third + '&fourth=' + fourth;
Später sollte es in einer Ajax-Anforderung wie:
xhr = new XMLHttpRequest();
xhr.open('POST', url);
I versuchte dies:
var url 'http://example.com/?first=' + encodeURIComponent(first);
Aber es funktioniert nicht mit #
. Was ist eine solide Kodierungslösung für alle Charaktere?
Ich benutze nicht jQuery, nur Javascript.
Wie ich verstehe 'encodeURIComponent' ist für params .. Und die' encodeURI' ist für die URL ... http://i.imgur.com/2xKpYd0.png In Ihrem Fall sollte die '#' 'encodeURIComponent verwenden '(% 23) Wenn du sagst, dass es nicht funktioniert, was meinst du? – Pogrindis
Sie müssen etwas genauer darüber sein, was "nicht mit' # '" funktioniert: 'encodeURIComponent ('And" hash,. # $') '→' "Und% 20% 22hash% 2C.% 23% 24 "'. – deceze
Haben Sie versucht, 'escape()' zu verwenden? –