Foros del Web » Programando para Internet » Javascript »

error desconocido en tiempo de ejecución

Estas en el tema de error desconocido en tiempo de ejecución en el foro de Javascript en Foros del Web. Hola, estoy intentado obtener una pantalla en la cual tengo una etiqueta <div>, que primero no tiene nada, y que después relleno con una función ...
  #1 (permalink)  
Antiguo 07/01/2010, 03:22
 
Fecha de Ingreso: diciembre-2008
Mensajes: 233
Antigüedad: 15 años, 4 meses
Puntos: 1
error desconocido en tiempo de ejecución

Hola, estoy intentado obtener una pantalla en la cual tengo una etiqueta <div>, que primero no tiene nada, y que después relleno con una función javascript. La función es la siguiente:

//Para obtener las tareas de una determinada actividad
function obtenerTareasPorActividad(selObject)
{
// Obtener la instancia del objeto XMLHttpRequest
if(window.XMLHttpRequest)
{
peticion_http = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
peticion_http = new ActiveXObject("Microsoft.XMLHTTP");
}
// Preparar la funcion de respuesta
peticion_http.onreadystatechange = muestraContenidoActividad;

// Realizar peticion HTTP
var idActividadElegida = selObject.options[selObject.selectedIndex].value;
peticion_http.open('POST','obtener-detalle-actividad!obtenerDetalleActividad?idActividadElegi da='+idActividadElegida, false);
peticion_http.send(null);

function muestraContenidoActividad()
{
if(peticion_http.readyState == 4)
{
if(peticion_http.status == 200)
{
document.getElementById('contenidoDetalleActividad ').innerHTML = peticion_http.responseText;
}
}
}
}

Y cuando aparece la página, que por cierto tarda muchísimo, el error que obtengo es el siguiente: "error desconocido en tiempo de ejecución", y por lo que parece, está en la línea "if(peticion_http.status == 200) ". El resto de la página aparece bien, pero no aparece el contenido de esa etiqueta <div>¿Podéis decirme qué puedo estar haciendo mal?

Muchas gracias y un saludo
  #2 (permalink)  
Antiguo 07/01/2010, 05:55
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: error desconocido en tiempo de ejecución

En principio, veo 2 problemas:
1) estás enviando por el método post, por lo tanto, tenés que agregar luego del método open, el método setRequestHeader:
Código PHP:
peticion_http.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
y
2)el tercer parámetro que usaste para open es false, lo que significa que la petición es síncrona, y en ese tipo de peticiones no funciona el evento onreadystatechange ya que no se abre un hilo de ejecución independiente sino que javascript se comporta como siempre, ejecutando una instrucción después de otra.
  #3 (permalink)  
Antiguo 07/01/2010, 06:09
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: error desconocido en tiempo de ejecución

Hola

Otro error es que falta la extensión de la página hacia la que se apunta

obtener-detalle-actividad!obtenerDetalleActividad

Lee este articulo para que te sea mas claro

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 08/01/2010, 06:09
 
Fecha de Ingreso: diciembre-2008
Mensajes: 233
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: error desconocido en tiempo de ejecución

Muchas gracias, pero al final el error no estaba en las lineas de la petición HTTP sino en la página jsp de respuesta. La página tenía un form propio, pero estaba contenida dentro de una plantilla con otro form principal, y por lo visto no me permitía utilizar el form secundario para enviar a un action distinto del principal. Lo he solucionado quitando la etiqueta <s:form> de la página jsp respuesta.

Un saludo

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:13.