Ich habe eine JavaScript-Funktion, die als Abfragezeichenfolgenwert eine andere Abfragezeichenfolge übergibt.Wie codiert man eine Abfragezeichenfolge, so dass es der Wert einer anderen Abfragezeichenfolge in Javascript ist?
Mit anderen Worten, ich möchte die Abfrage-String sein:
http://www.somesite.com/?somequery=%3fkey%3dvalue1%2520%26%2520key2%3value3
aber wenn ich so umleiten:
var url = 'http://www.somesite.com/?somequery=';
url += escape('?key=value1&key2=value2');
window.location = url;
es endet als http://www.somesite.com?somequery=?key1=value1&key2=value2
in Firefox und IE7 was bedeutet, dass Ich kann die Abfragezeichenfolge nicht korrekt analysieren.
Ich versuchte auch mit encodeURIComponent, die auch nicht funktioniert.
Gibt es eine andere Funktion oder einen Hack, um die Weiterleitung zu zwingen, den somequery
Wert zu retten?
Ja, ich bin ziemlich sicher, Flucht ist veraltet. Guter Ruf. –
Vielleicht müssen Sie '%' in [query] lösen – KooiInc
Das funktioniert - obwohl beim Parsen der Abfrage-String muss ich es jetzt zweimal dekodieren. Es scheint, dass wenn es einmal kodiert ist, wird es durch den Browser decodiert werden, aber wenn es zweimal codiert wird, wird es überhaupt nicht decodiert. seltsam. – rmw