Recomendado: ASP controla 6 códigos muy clásicos para la base de datos XML No.1-Cree una base de datos XML data.xml <? Xml versión = 1.0?> <Records> <2S> <name> caca </name> <qq> 1 1
7.2.4 Error de script de cliente
Hasta ahora, hemos aprendido sobre los errores de ASP. Sin embargo, ASP también se usa a menudo para crear páginas web que contienen scripts de clientes. Si el elemento <script> que contiene el código del cliente no está configurado en el atributo runat = servidor, el ASP no considerará el servidor y transmitirá la información de la página web al cliente sin cambiarlo.
Por lo tanto, si se abre una página web ASP y se muestra un diálogo de error de navegador, no debe buscar errores en el código de programa ASP en el lado del servidor. El navegador no puede ver el código del programa ASP, por lo que no puede reconocer ningún error. Si aparece un cuadro de diálogo en el cliente, debe haber un error en el código del cliente.
1. Error de sintaxis
Si hay un error de sintaxis en el código del programa del cliente en la página web, el navegador experimentará el error correspondiente cuando el script se descargue al cliente. Aunque el contenido en la página web aún se puede cargar normalmente (a menos que este código de secuencia de comandos del cliente cargue dinámicamente), la página web deja de ejecutar. El usuario verá un cuadro de diálogo que contiene los detalles del error o un mensaje de estado que indica que la página web contiene el error.
Los navegadores modernos tienden a ocultar los detalles de los errores de script web, y solo muestran un pequeño icono de error en la barra de estado. En IE 4.0 e IE 5.0, el cuadro de diálogo de error normal se puede activar a través de la página avanzada del cuadro de diálogo Opciones de Internet, como se muestra en la Figura 7-14:
Figura 7-14 Pantalla de configuración de página avanzada
El manejo de los errores del cliente en el código del programa de secuencias de comandos es similar a los del lado del servidor y generalmente es más fácil porque las páginas web a menudo se pueden descargar directamente desde el directorio del servidor haciendo doble clic. En general, no es necesario obtener páginas web a través de servidores web y HTTP para observar los resultados en el navegador. La única diferencia es que algunas interacciones del servidor son realizadas por scripts del cliente, como el enlace de datos o la carga dinámica utilizando RDS.
2. Error de tiempo de ejecución o semántico
En los scripts del cliente, a menudo puede encontrar errores de sintaxis y errores de tiempo de ejecución o semántica. De hecho, este fenómeno es muy común en el lado del cliente. Debido a que el cliente no puede controlar el entorno de script como el lado del servidor, no es seguro de lo que el usuario está ejecutando en su máquina. De hecho, el servidor solo puede obtener la situación general de algunos componentes, como las capacidades del navegador.
Por lo tanto, los programas de secuencias de comandos que usan objetos del cliente o versiones especiales de lenguajes y propiedades de secuencias de comandos probablemente no funcionen correctamente. Sin embargo, el manejo de errores del cliente es similar al manejo de errores del servidor.
3. Código de programa del cliente creado en el servidor
Cuando se produce un error, como una excepción especial a las reglas de la página de error ASP (sobre dónde ocurre el error) correspondientes a las reglas de la página de error ASP es utilizar el código de programa ASP para crear dinámicamente el código de programa del cliente en el servidor. Por ejemplo, es posible que desee realizar operaciones de evaluación en ASP y luego pasar los datos al código de script que se ejecuta en el cliente. La forma más fácil es insertar los datos en el código de script como una variable:
<%
'Obtenga el nombre de nuestro servidor desde la colección ServerVariables
strserverNameInasp = request.ServerVariAbles (server_name)
%>
<Script Language = JScript runat = Client>
<!- Ocultar código de navegadores más antiguos
var strServerName = < % = strServerNameInasp %>;
…
alerta ('El nombre del servidor es:' strServerName);
…
// Deja de ocultar código
->
</script>
En el cliente, después de que ASP procesa esta página, lo que obtendrá es:
<Script Language = JScript runat = Client>
<!- Ocultar código de navegadores más antiguos
var strserverName = wroxbox;
…
alerta ('El nombre del servidor es:' strServerName);
…
// Deja de ocultar código
->
</script>
Se puede ignorar el atributo Runat = Cliente, pero agregar este elemento puede dejarlo más claro al ver la página web ASP donde se ejecuta el código.
De esta manera, si desea agregar los datos de la base de datos del lado del servidor a una matriz de clientes en una ubicación determinada, puede usar el siguiente programa para implementarlo:
<Script Language = JScript runat = Client>
<!- Ocultar código de navegadores más antiguos
var arrkebooks = nueva matriz (10) // El índice más alto disponible será
<% 'Inicio del procesamiento ASP
intindex = 0
Hacer mientras {no al final de algún conjunto de registros}
strtitle = {Obtener título del registro de la base de datos}
Response.Write ArrBooks [& cint (intIndex) &] = '_
& strtitle & '; & vbcrlf
intIndex = intIndex 1
{Mover al siguiente registro en la base de datos}
Bucle
…
Haz algo aquí en el cliente con la variedad de títulos de libros
…
// Deja de ocultar código
->
</script>
Este código del cliente generado por el código del programa ASP del lado del servidor crea una variedad de títulos de libros cuando el cliente se está ejecutando. El error de script del cliente que se genera aparece simultáneamente en el cuadro de diálogo Error del navegador. La razón del error es que las matrices que llevan el nombre de ArrBooks son creadas por el código JavaScript cuando se ejecuta en el cliente y solo pueden aceptar 9 títulos de libros; Mientras que el código del lado del servidor probablemente puede generar más de 9 títulos de libros, lo que está determinado por el número de registros en la base de datos de origen. Esto es equivalente al siguiente código del cliente:
<Script Language = JScript runat = Client>
<!- Ocultar código de navegadores más antiguos
var arrkebooks = nueva matriz (10) // El índice más alto disponible será
ArrBooks [0] = 'Instant JavaScript';
ArrBooks [1] = 'Professional ASP 3.0 Programming';
ArrBooks [2] = 'ADO 2.5 Referencia de programadores';
…
etc.
…
ArrBooks [9] = 'Técnicas ASP para Webmasters';
ArrBooks [10] = 'Referencia de programadores ASP'; // <- El error del lado del cliente ocurre aquí
ArrBooks [11] = 'Programación ADSI CDO';
ArrBooks [12] = 'Professional MTS y MSMQ Programming';
…
Haz algo aquí en el cliente con la variedad de títulos de libros
…
// Deja de ocultar código
->
</script>
Esta página solo puede funcionar correctamente después de la corrección. Se puede aumentar aumentando el tamaño de la matriz o controlando el número de registros de la base de datos.
7.3 Evitar errores
He visto algunos tipos diferentes de errores que pueden ocurrir arriba, y siento que estoy buscando errores. Aquí hay algunas consideraciones sobre cómo evitar introducir errores en los programas. Aunque no se garantiza que el programa escrito esté libre de errores, se resumen muchas técnicas resumidas aquí.
Compartir: Cómo convertir las páginas web dinámicas ASP en páginas estáticas HTM Hace algún tiempo, una página de ASP tardó en ejecutar, con muchos visitantes, y no se modificó con frecuencia, por lo que era demasiado vago para convertirlo directamente en estática. Cada vez que tenía que descargarlo del servidor para modificarlo, tenía que encontrar una manera de convertir la página ASP en una página estática HTM. He visto esto antes