vermeiden Sie, zu entkommen, eine spezielle Zeichen in javascript
Mein server liefert den Wert als support\testing
. Wenn ich diesen Wert im client kann es entgangen sein, wie support testing
. \t
ist entronnen wie tab, space.
Wie kann ich vermeiden, escaping von Sonderzeichen in JavaScript?
Zurück
sollten Sie entkommen, server-Seite und dann schicken javascrippt
Sie könnten vermeiden Sie die Verwendung von backslash statt slash.
Ich bin verwirrt. Wollen Sie vermeiden un-Flucht durch änderung der server -, oder un-Flucht auf dem client?
welche Sprache ist dein server verwenden, um die Ausgabe der Wert? Sie sollte die ordnungsgemäße Verwendung von json-Kodierung bei der Ausgabe von JS Daten.
"support\\testing"
? Siehe: msdn.microsoft.com/en-us/library/ie/2yfce773(v=vs. 94).aspxsollten Sie entkommen, server-Seite und dann schicken javascrippt
Sie könnten vermeiden Sie die Verwendung von backslash statt slash.
Ich bin verwirrt. Wollen Sie vermeiden un-Flucht durch änderung der server -, oder un-Flucht auf dem client?
welche Sprache ist dein server verwenden, um die Ausgabe der Wert? Sie sollte die ordnungsgemäße Verwendung von json-Kodierung bei der Ausgabe von JS Daten.
InformationsquelleAutor raky | 2013-07-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein server benötigt, um die Ausgabe der Zeichenfolge mit der richtigen Flucht.
In diesem Fall möchten Sie ein backslash-Zeichen in der Ausgabe; der backslash ist ein Sonderzeichen, so dass, sollten escaped werden.
Die escape-Sequenz für einen backslash ist
\\
(also zwei Schrägstriche), aber man sollte nicht denken, die über bestimmte escape-codes-wenn Sie ausgeben JS Daten, sollte man die Ausgabe mit der richtigen Flucht für die ganze Zeichenfolge, die in der Regel bedeutet, Sie sollten mit JSON-Kodierung.Meisten server-Sprachen in diesen Tagen bieten JSON-Kodierung als eine integrierte Funktion. Sie haben nicht angegeben, in welcher Sprache Sie Ihre server mit, aber zum Beispiel, wenn es ist in PHP geschrieben, Sie würde bei der Ausgabe des Strings als
json_encode($string)
anstatt nur die Ausgabe$string
direkt. Andere Sprachen bieten eine ähnliche Funktion. Dies schützt Sie nicht nur von gebrochenen umgekehrte Zeichen, aber auch aus anderen Fehlern, wie Anführungszeichen oder Zeilenumbrüchen in den Zeichenfolgen, die auch Fehler verursachen, wenn man Sie in einem Javascript-code mit einem nicht korrekt codierten string.</script>
weil einfach escaping für javascript-strings im Allgemeinen nicht etwas dagegen tun :9InformationsquelleAutor Spudley
Wenn Sie sind in der Lage, ändern Sie die server-side-code, sollten Sie das escape-Zeichen es gibt:
"support\\testing"
.Führen, in der das gewünschte Ergebnis.
Dies ist wirklich ein Kommentar, keine Antwort.
es mag scheinen wie ein Kommentar, aber ist auch eine legitime Antwort, die zurückkehren wird, was der op will.
In diesem Fall sollten Sie es erweitern. Was du geschrieben hast wurde schon gesagt in einen Kommentar; der Benutzer hat ein Kommentar zu schreiben für einen guten Grund. Ich würde es ändern, um eine Aussage, wie Sie scheinen tatsächlich eine Frage an den OP, anstatt ihm Antworten.
touche, siehe update.
InformationsquelleAutor marteljn
Können Sie tagged Vorlage Literale
Den anonymen Pfeil-Funktion dienen als tag-und
s.raw
enthält die ursprüngliche EingabeInformationsquelleAutor Alexander Praetorius
Können Sie ganz einfach ersetzen:
Und dies für andere Zeichen, die Sie ersetzen müssen.
str.replace(/\t/g, '\\t');
Dies ändert sich auch absichtlich Registerkarten, die es einfach trades ein problem für die anderen
InformationsquelleAutor jh314
Beste Lösung für diese
InformationsquelleAutor zaid