Dieser Artikel beschreibt die Fluchtfunktion, in der das Problem des verstümmelten Code in Ajax in js gelöst wird, und wird für Ihre Referenz bei Ihnen geteilt. Die spezifischen Methoden sind wie folgt:
1. Problembeschreibung:
Ursprünglich die Flucht () in der Webseite Special Effects URL, die in Chinesisch nach dem ISO-8859-1-Zeichenset codiert ist. Auf diese Weise können die Anforderungsparameter direkt über Request.GetParameter () erhalten werden, aber später JavaScript Escoding () durch die Codierung des Unicode -Zeichens ersetzt. Auf diese Weise können die Anforderungsparameter nicht direkt im JSP -Tutorial und im Servlet erhalten werden, und ich kenne den spezifischen Grund nicht.
2. Lösung:
1. Codieren Sie zuerst die chinesischen Zeichen zweimal. Wenn Sie den Parameternamen übergeben möchten und der Wert "Hallo" ist, ist das Format der URL .... name = Escape (Escape ("Hello")). Auf diese Weise können die codierten Parameter in Request.GetParameter () erhalten werden.
2. Da die erhaltenen Parameter im Format von %25U4F60 %25U597D sind, ist es unmöglich, den regulären Urldecoder.decode () zum Dekodieren zu verwenden. Glücklicherweise gibt es auf dieser Welt genug Menschen. Ich habe direkt eine Werkzeugklasse im Internet gefunden, die escape () und Unscape ()-Style Codec in JavaScript implementieren kann.
Kopieren Sie den Code wie folgt: <script Language = "JavaScript">
Funktion get (id) {return document.getElementById (id) .Value}
Funktionseinstellung ()
{
var xmlhttp;
if (Window.ActiveXObject)
{
xmlhttp = new ActiveXObject ("microsoft.xmlhttp"))
}anders{
xmlhttp = new xmlhttprequest ();
}
xmlhttp.onReadyStatechange = function () ())
{
if (xmlhttp.ReadyState == 4)
{
if (xmlhttp.status == 200)
{
Alarm ("Erfolg!")
}anders{
Alert (xmlhttp.status)
}
}
}
var url = "action.asp Tutorial? Action = Setting & rnd ="+math.random ()
xmlhttp.open ("post", url, true)
var senddate = "title ="+Escape (get ("title")+"& conn_way ="+Escape (get ("conn_way")+"& databasename ape (get ("sqlpassword"))+"& sqllLlocalName ="+Escape (get ("sqllLlocalName")+"& pg_size ="+Escape (get ("PG_SIZE"))+"& adminid ="+Escape ("adminID")+") & adminpwd ="+Escape ("Escape ("+) (GOT ("(GOT" (GOT "(GET" (GET "(GET" (GET "(GET" (GOT "(GET" (GET "(GOT" (GET "(GOT" (GOT "(GET") (GOT ("(GOT" (GET ") (GOT ("+) ("adminpwd =") (")af (Get ("+)afes ("ufn (""ögel ("ömer
2727 xmlhttp.setRequestheader ('Content-Type', 'Application/X-Www-Form-Urlencoded');
xmlhttp.send (senddate)
}
</script>
Im obigen Beispiel verwenden wir nur die Fluchtfunktion auf Chinesisch, und die Syntax lautet wie folgt:
Definition und Verwendung:
Die Funktion ESCAP () codiert eine Zeichenfolge, damit die Zeichenfolge auf allen Computern gelesen werden kann.
Grammatik:
Escape (String) Parameter Beschreibung
Zeichenfolge erforderlich. Die String, die entkommen oder codiert werden soll.
Rückgabewert:
Eine Kopie der codierten Zeichenfolge. Einige dieser Zeichen werden durch hexadezimale Fluchtsequenzen ersetzt.
veranschaulichen:
Diese Methode codiert weder ASCII -Buchstaben und Zahlen noch die folgenden ASCII -Interpunktionsmarken: - _. ! ~ * '(). Alle anderen Zeichen werden durch entkommene Sequenzen ersetzt.
Tipps und Kommentare:
TIPP: Unscape () kann verwendet werden, um Escape () codierte Zeichenfolgen zu dekodieren.
HINWEIS: ECMASScript V3 widersetzt sich der Verwendung dieser Methode, und die Anwendung verwendet Decodeuri () und decodeuricomponent () anstelle davon
Ich hoffe, dieser Artikel wird für JavaScript -Programme aller hilfreich sein.