Este artículo describe la función de escape para resolver el problema del código confuso en Ajax en JS., Y se comparte con usted para su referencia. Los métodos específicos son los siguientes:
1. Descripción del problema:
Originalmente, la URL de efectos especiales de Escape () en la página web codificó en chino de acuerdo con el conjunto de caracteres ISO-8859-1. De esta manera, los parámetros de solicitud se pueden obtener directamente a través de request.getParameter (), pero luego JavaScript reemplazó a Escape () con una codificación del conjunto de caracteres Unicode. De esta manera, los parámetros de solicitud no se pueden obtener directamente en el tutorial y servlet JSP, y no conozco la razón específica.
2. Solución:
1. Primero, codifica los caracteres chinos dos veces. Si desea pasar el nombre del parámetro y el valor es "Hola", el formato de la URL es .... name = Escape (Escape ("Hello")). De esta manera, los parámetros codificados se pueden obtener en request.getParameter ().
2. Dado que los parámetros obtenidos están en el formato de %25U4F60 %25U597D, es imposible usar el UrlDecoder regular.Decode () para decodificar. Afortunadamente, hay suficientes personas en este mundo. Encontré directamente una clase de herramientas en Internet que puede implementar Escape () y unescape ()-Códec de estilo en JavaScript.
Copie el código de la siguiente manera: <script language = "javaScript">
función get (id) {return document.getElementById (id) .Value}
configuración de función ()
{
var xmlhttp;
if (window.activexObject)
{
xmlhttp = new ActiveXObject ("Microsoft.xmlhttp")
}demás{
xmlhttp = new xmlhttprequest ();
}
xmlhttp.onreadyStateChange = function ()
{
if (xmlhttp.readyState == 4)
{
if (xmlhttp.status == 200)
{
alerta ("¡éxito!")
}demás{
alerta (xmlhttp.status)
}
}
}
var url = "Action.asp tutorial? Action = Setting & rnd ="+Math.random ()
xmlhttp.open ("post", url, verdadero)
var sendDate = "Title ="+Escape (get ("Title"))+"& Conn_way ="+Escape (get ("Conn_way"))+"& DatabaseName ="+Escape (get ("DatabaseName"))+"& Sqlusername ="+Escape (get ("SqluserName")+"& SqlPassword ="+ESC ape (get ("sqlpassword"))+"& sqlllocalname ="+escudo (get ("sqlllocalName"))+"& pg_size ="+escape (get ("pg_size")+"& adminid ="+escape (get ("administrador"))+"& adminpwd =" ESCEPE (get ("adminpwd"));
2727 xmlhttp.setRequestHeader ('Content-type', 'Application/x-www-form-urlencoded');
xmlhttp.send (sendDate)
}
</script>
En el ejemplo anterior, solo usamos la función de escape en chino, y la sintaxis es la siguiente:
Definición y uso:
La función Escape () codifica una cadena para que la cadena se pueda leer en todas las computadoras.
gramática:
Escapar (cadena) Descripción del parámetro
requerido cadena. La cadena a escapar o codificar.
Valor de retorno:
Una copia de la cadena codificada. Algunos de estos personajes son reemplazados por secuencias de escape hexadecimales.
ilustrar:
Este método no codifica letras y números ASCII, ni codifica los siguientes signos de puntuación ASCII: - _. ! ~ * '(). Todos los demás personajes serán reemplazados por secuencias escapadas.
Consejos y comentarios:
Consejo: Unescape () se puede usar para decodificar las cadenas codificadas de escape ().
NOTA: ECMAScript V3 se opone al uso de este método, y la aplicación usa decodeuri () y decodeuricponent () en lugar de
Espero que este artículo sea útil para la programación de JavaScript de todos.