Soy bastante novato en AJAX, así que quizás sea una tontería el error, pero no consigo encontrarlo.
Son dos cosas, uno de enviar datos y otro de eliminarlo, los pongo por separado y explico cada cosa.
El objeto AJAX lo tengo definido de la siguiente forma:
Código Javascript:
Ver original
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; }
Enviar datos vía GET con AJAX
Tengo un código que, debería enviarme datos a la BD, pero no lo hace, aunque me salta el mensaje de confirmación de que si que lo ha hecho. Pongo el código .js y el .php.
La conexión con la BD está hecha en otro documento, ya que este se usa en otro por medio de un include().
Código PHP:
Ver original
<?php if($_GET['act'] == "denunciar") { { echo '<script type="text/javascript">alert("No hay ninguna ID."); history.back();</script>'; } else { } } ?>
Código Javascript:
Ver original
// Denunciar comentario con AJAX // function denunciarcom(id, autor){ //usaremos un cuadro de confirmacion var denunciar = confirm("¿Está seguro de que desea denunciar el comentario? Si lo hacee, el equipo de la web se encargará de revisarlo y tomar las medidas necesarias."); if ( denunciar ) { //instanciamos el objetoAjax ajax=objetoAjax(); //uso del medotod GET //indicamos el archivo que realizará el proceso de denuncia //junto con un valor que representa el id del comentario ajax.open("GET", "/comentarios.php?act=denunciar&id="+id+"&autor="+autor); ajax.onreadystatechange=function() { if (ajax.readyState==4) { //mostrar resultados en esta capa alert("Comentario denunciado"); } } //como hacemos uso del metodo GET //colocamos null ajax.send(null) } } // Denunciar comentario con AJAX //
Borrar datos vía GET con AJAX
En este caso, el problema es igual, solo que en lugar de enviar datos, necesito que los borre.
Código PHP:
Ver original
$sqldelete = "DELETE FROM `comentarios` WHERE `id` = '".$_GET['id']."'"; if(mysql_query($sqldelete)) { ?> <script type="text/javascript">alert("Comentario eliminado"); window.location = "/admin/comentarios.php";</script> <?php } else { ?> <script type="text/javascript">alert("Comentario no eliminado"); window.location = "/admin/comentarios.php";</script> <?php }
Código Javascript:
Ver original
// Eliminar comentarios con AJAX // function deletecom(id){ //usaremos un cuadro de confirmacion var eliminar = confirm("De verdad desea eliminar este comentario?"); if ( eliminar ) { //instanciamos el objetoAjax ajax=objetoAjax(); //uso del medotod GET //indicamos el archivo que realizará el proceso de eliminación //junto con un valor que representa el id del comentario ajax.open("GET", "/admin/comentarios.php?act=delete&id="+id); ajax.onreadystatechange=function() { if (ajax.readyState==4) { //mostrar resultados en esta capa alert("Comentario eliminado"); } } //como hacemos uso del metodo GET //colocamos null ajax.send(null) } } // Eliminar comentarios con AJAX //
Muchísimas gracias a quien pueda ayudarme, sé que es algo largo de leer.