AJAX - Refresco consulta de ajax con oracle

   
Vista:

Refresco consulta de ajax con oracle

Publicado por tipitipi (4 intervenciones) el 23/03/2009 13:08:04
Hola a todos:

Mi pregunta es la siguiente:

Estoy desarrollando una aplicación web para interactuar con una base de datos de oracle. El objetivo es leer, actualizar, borrar ó escribir tablas de oracle sin necesidad de ejecutar en el servidor web una pagina php/asp . . . cada vez que realizo alguna operacion sql. Para este objetivo he utilizado ajax.

Hasta el momento consigo leer, escribir . . . lo que sea, pero una vez que ejecuto la orden SQL, esta no me vuelve a funcionar hasta que cierro la pagina web y la abro de nuevo.

Alguien me podria ayudar ?

A continuación, adjunto el codigo de los ficheros que utilizo:


fichero con codigo ajax:
--------------------------------------------------------------------------------------------------------------------------
function objetoAjax()
{
var xmlhttp=false;
try
{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E)
{
xmlhttp = false;
}

}

if (!xmlhttp && typeof XMLHttpRequest!='undefined')
{
xmlhttp = new XMLHttpRequest();
}

return xmlhttp;
}

function MostrarConsulta(datos)
{
//alert("SI");
divResultado = document.getElementById('resultado');
ajax=objetoAjax();
ajax.open("GET", datos);
ajax.onreadystatechange=function() {
if (ajax.readyState==4)
{
//alert("SEGUNDO");
divResultado.innerHTML = ajax.responseText;
}
}
ajax.send(null)
}
--------------------------------------------------------------------------------------------------------------------------


fichero con codigo php:
--------------------------------------------------------------------------------------------------------------------------
<?php

//Incluir Ficheros Auxiliares
include("Conexion_Oracle.php"); **Solo para conectar a oracle!!!!!

//Recuperamos la Clave del Usuario que se pretende Conectar
$consulta_Tarea = "SELECT * FROM EMPLEADOS";
$resultado_Tarea = ociparse($conn, $consulta_Tarea);
ociexecute($resultado_Tarea, OCI_DEFAULT);

//muestra los datos consultados
//echo "</p>Nombres - Departamento - Sueldo</p>";


while(ocifetch($resultado_Tarea))
{
/*echo "<script> location.href='Principal.php'; </script>";*/
echo "<p>".ociresult($resultado_Tarea, "NOMBRES")." - ".ociresult($resultado_Tarea, "DEPARTAMENTO")." - ".ociresult($resultado_Tarea, "SUELDO")."</p>";
}

//Realizamos la Desconeccion
ocilogoff($conn);


?>
--------------------------------------------------------------------------------------------------------------------------


fichero con codigo html:
--------------------------------------------------------------------------------------------------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Consulta Registro con AJAX</title>

<!-- referenciamos al archivo ajax.js donde se encuentra nuestra funcion objetoAjax-->
<script language="JavaScript" type="text/javascript" src="ajax.js"></script>
</head>

<body>
<p>Consultar Registros con Ajax</p>

<form name="consulta" action="" onSubmit="MostrarConsulta('consulta.php'); return false">
<label><input type="submit" name="Consultar" value="Consultar" /></label>
</form>

<div id="resultado" style="position: absolute; width: 434px; height: 189px; background-color: #00CCFF; layer-background-color: #00CCFF; border: 1px none #000000; left: 157px; top: 210px;">
</div>
</body>
</html>
--------------------------------------------------------------------------------------------------------------------------
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Refresco consulta de ajax con oracle

Publicado por pipo (2 intervenciones) el 23/03/2009 16:13:33
Hay que crear el objeto ajax cada vez. yo lo puse fuera de todas las funciones y me resulto, el por que aun esta en las tinieblas.
En tu caso:

function objetoAjax()
{
var xmlhttp=false;
try
{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E)
{
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined')
{
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}

ajax=objetoAjax();
// yo lo puse aqui fuera de las funciones....

function MostrarConsulta(datos)
{
//alert("SI");
divResultado = document.getElementById('resultado');
//ajax=objetoAjax(); sacalo de aqui..........
ajax.open("GET", datos);
ajax.onreadystatechange=function() {
if (ajax.readyState==4)
{
//alert("SEGUNDO");
divResultado.innerHTML = ajax.responseText;
}
}
ajax.send(null)
}

Prueba y nos comentas....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Refresco consulta de ajax con oracle

Publicado por tipitipi (4 intervenciones) el 23/03/2009 22:08:07
Hola de nuevo !!

Antes de nada muchas gracias por contestar.

He estado probando la solucion que me has dado, pero sigue sin funcionarme.

Es más, me acabo de dar cuenta que todo esto no me funciona si la pagina principal no la lanzo desde el dreamweaver ( con el F12 )

Se te ocurre alguna cosilla más ?

Muchas gracias y saludos cordiales.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Refresco consulta de ajax con oracle

Publicado por pipo (2 intervenciones) el 24/03/2009 14:10:04
Revisa tambien que la pagina que hace el llamado a la funcion tenga entre las etiquetas:
<head>
<script src="elAjax.js" language="javascript"></script>
</head>

Ojo que si no me equivoco distingue mayusculas de minusculas.
MP
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar