Tengo problemas con la actualización de un contenido, de un contenedor de una pagina que trabaja con ajax
Después de hacer unos cambios me di cuenta que no se esta actualizando la pagina.
Explicando un poco mejor.
Tengo una pagina Index que carga otra pagina (por medio de ajax), en un contenedor de nombre contenidos. Dicha página es la ver_productos_1_1.php.
Esta página tiene un include a otra página (esta pagina ver_1_1.php) que hace lo siguiente:
La pagina ver_1_1.php carga a su vez otra que me agrega los datos (agregacar_1_1.php) en una sesión de PHP (la pagina dos), esta que agrega no tiene echo y la ultima línea es un header a la pagina ver_productos_1_1.php.
Poniendo un poco de código para entender.
Coloco poco código para no marear; si ven que es necesario mas agrego todo.
Pagina ver_productos_1_1.php:
Código PHP:
echo "
<tr bgcolor=\"$color\">
<td>";
include("ver_1_1.php");
El include hace referencia a esta página (ver_1_1.php)
Código PHP:
<html>
<?php if($carro[md5($row['id'])]['identificador']!=md5($row['id'])){?>
<a href="javascript:llamarasincrono('contenidos/agregacar_1_1.php?<?php echo SID ?>&id=<?php echo $row['id'];?>', 'contenidos');">
<img id="estado_compra" src="/imagenes/comprar.gif" border="0" title="Agregar al Carrito"></a>
<?php }else{?>
<a href="javascript:llamarasincrono('contenidos/agregacar_1_1.php?<?php echo SID ?>&id=<?php echo $row['id'];?>', 'contenidos');">
<img id="estado_compra" src="/imagenes/agregado.gif" border="0" title="Agregar al Carrito"></a>
<?php }?>
</html>
Pagina agregacarr_1_1.php (no tiene ningun echo) hace un header de nuevo a ver_productos_1_1.php
Código PHP:
header("Location:<a href='javascript:llamarasincrono('contenidos/ver_productos_1_1.php', 'contenidos');'>");
?>
Funcion Ajax
Código:
// Esta función cargará las paginas
function llamarasincrono(url, id_contenedor){
var pagina_requerida = false
if (window.XMLHttpRequest) {// Si es Mozilla, Safari etc
pagina_requerida = new XMLHttpRequest()
} else if (window.ActiveXObject){ // pero si es IE
try {
pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){ // en caso que sea una versión antigua
try {
pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
pagina_requerida.onreadystatechange=function(){ // función de respuesta
cargarpagina(pagina_requerida, id_contenedor)
}
pagina_requerida.open('GET', url, true) // asignamos los métodos open y send
pagina_requerida.send(null)
}
// todo es correcto y ha llegado el momento de poner la información requerida
// en su sitio en la pagina xhtml
function cargarpagina(pagina_requerida, id_contenedor){
if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(id_contenedor).innerHTML=pagina_requerida.responseText
}
Me doy cuenta que no esta actualizando la pagina ver_productos_1_1.php a traves de la funcion Ajax, si yo actualizo manualmente cambia la imagen perfectamente, el problema para mi esta en que no se devuelve nada a Ajax desde el archivo agregacar_1_1.php; no se a mi; pero expongo para que me puedan dar alguna idea, si tienen alguna otra bienvenida sera, gracias.