Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/08/2011, 14:10
Ueki
 
Fecha de Ingreso: septiembre-2009
Mensajes: 210
Antigüedad: 14 años, 8 meses
Puntos: 19
Pregunta AJAX no envía los datos (vía GET) pero me dice que si

¡Hola!
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
  1. function objetoAjax(){
  2.     var xmlhttp=false;
  3.     try {
  4.         xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  5.     } catch (e) {
  6.         try {
  7.            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  8.         } catch (E) {
  9.             xmlhttp = false;
  10.         }
  11.     }
  12.  
  13.     if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  14.         xmlhttp = new XMLHttpRequest();
  15.     }
  16.     return xmlhttp;
  17. }

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
  1. <?php
  2. if($_GET['act'] == "denunciar")
  3. {
  4.     $idcoment = mysql_escape_string($_GET['id']);
  5.     $autor = mysql_escape_string($_GET['autor']);
  6.     if(empty($idcoment))
  7.     {
  8.         echo '<script type="text/javascript">alert("No hay ninguna ID."); history.back();</script>';
  9.     }
  10.     else
  11.     {
  12.         mysql_query("INSERT INTO `denunciacoment` (`idcoment`, `autor`) VALUES ('$idcoment','$autor')");
  13.     }
  14. }
  15. ?>
Código Javascript:
Ver original
  1. // Denunciar comentario con AJAX //
  2. function denunciarcom(id, autor){
  3.     //usaremos un cuadro de confirmacion   
  4.     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.");
  5.     if ( denunciar ) {
  6.         //instanciamos el objetoAjax
  7.         ajax=objetoAjax();
  8.         //uso del medotod GET
  9.         //indicamos el archivo que realizará el proceso de denuncia
  10.         //junto con un valor que representa el id del comentario
  11.         ajax.open("GET", "/comentarios.php?act=denunciar&amp;id="+id+"&amp;autor="+autor);
  12.         ajax.onreadystatechange=function() {
  13.             if (ajax.readyState==4) {
  14.                 //mostrar resultados en esta capa
  15.                 alert("Comentario denunciado");
  16.             }
  17.         }
  18.         //como hacemos uso del metodo GET
  19.         //colocamos null
  20.         ajax.send(null)
  21.     }
  22. }
  23. // 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
  1. $sqldelete = "DELETE FROM `comentarios` WHERE `id` = '".$_GET['id']."'";
  2.         if(mysql_query($sqldelete))
  3.         {
  4.             ?>
  5.             <script type="text/javascript">alert("Comentario eliminado"); window.location = "/admin/comentarios.php";</script>
  6.             <?php
  7.         }
  8.         else
  9.         {
  10.             ?>
  11.             <script type="text/javascript">alert("Comentario no eliminado"); window.location = "/admin/comentarios.php";</script>
  12.             <?php
  13.         }

Código Javascript:
Ver original
  1. // Eliminar comentarios con AJAX //
  2. function deletecom(id){
  3.     //usaremos un cuadro de confirmacion   
  4.     var eliminar = confirm("De verdad desea eliminar este comentario?");
  5.     if ( eliminar ) {
  6.         //instanciamos el objetoAjax
  7.         ajax=objetoAjax();
  8.         //uso del medotod GET
  9.         //indicamos el archivo que realizará el proceso de eliminación
  10.         //junto con un valor que representa el id del comentario
  11.         ajax.open("GET", "/admin/comentarios.php?act=delete&amp;id="+id);
  12.         ajax.onreadystatechange=function() {
  13.             if (ajax.readyState==4) {
  14.                 //mostrar resultados en esta capa
  15.                 alert("Comentario eliminado");
  16.             }
  17.         }
  18.         //como hacemos uso del metodo GET
  19.         //colocamos null
  20.         ajax.send(null)
  21.     }
  22. }
  23. // Eliminar comentarios con AJAX //

Muchísimas gracias a quien pueda ayudarme, sé que es algo largo de leer.