Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Ajax sin formulario no funciona

Estas en el tema de Ajax sin formulario no funciona en el foro de Jquery en Foros del Web. ¡Hola! Tengo que crear un DIV que, al pulsarlo, se ejecuta un SCRIPT que llama a un php (Modificar.php) que, a su vez, después de ...
  #1 (permalink)  
Antiguo 15/06/2016, 06:34
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Ajax sin formulario no funciona

¡Hola!

Tengo que crear un DIV que, al pulsarlo, se ejecuta un SCRIPT que llama a un php (Modificar.php) que, a su vez, después de todo, debe devolver un mensaje en forma de DIV o de alert() de Javascript. Lo he hecho pero ni funciona ni el navegador devuelve errores. Envío el código y si tienen alguna duda pregúntenme, por favor.

¡Gracias!

index.html (parte)

Código HTML:
Ver original
  1.                             $(document).ready(function(){
  2.                                 function ModoMantenimiento(){
  3.                                     $.ajax({
  4.                                         type: "POST",
  5.                                         url: "Mantenimiento/Modificar.php",
  6.                                         success: function(respuesta){
  7.                                             alert(respuesta);
  8.                                         },
  9.                                     });
  10.                                 }
  11.                             });
  12.                         </script>
  13.                         <div class="App" id="App8" onClick="javascript:ModoMantenimiento();">
  14.                             <div class="Icono">
  15.                                 t
  16.                             </div>
  17.                             <div class="Nombre">
  18.                                 Mantenimiento
  19.                             </div>
  20.                         </div>
Mantenimiento/Modificar.php

Código PHP:
Ver original
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Mantenimiento</title>
  6.     <link rel="stylesheet" href="../Estilos/Estilos.css">
  7.     <link rel="stylesheet" href="../Librerias/Bootstrap/css/bootstrap.css">
  8.     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  9. </head>
  10. <body>
  11.     <?php
  12.         require ("../../SiempreAdjunto.php");
  13.         if ($_SESSION['RolUsuario'] === '3'){
  14.             $QueryBusquedaMatenimiento = "SELECT * FROM `Status` WHERE `Informacion` = 'ModoMantenimiento'";
  15.             $MyQueryBusquedaMantenimiento = $MyConnect->query($QueryBusquedaMatenimiento);
  16.             $MyFetchBusquedaMantenimiento = $MyQueryBusquedaMantenimiento->fetch_assoc();
  17.             if ($MyFetchBusquedaMantenimiento['Estado'] == '0'){
  18.                 $QueryFinalMantenimiento = "UPDATE `Status` SET `Estado` = '1' WHERE `Informacion` = 'ModoMantenimiento'";
  19.                 $MyQueryFinalMantenimiento = $MyConnect->query($QueryFinalMantenimiento);
  20.                 $Final = "El modo de mantenimiento se ha activado.";
  21.             }elseif ($MyFetchBusquedaMantenimiento['Estado'] == '1'){
  22.                 $QueryFinalMantenimiento = "UPDATE `Status` SET `Estado` = '0' WHERE `Informacion` = 'ModoMantenimiento'";
  23.                 $MyQueryFinalMantenimiento = $MyConnect->query($QueryFinalMantenimiento);
  24.                 $Final = "El modo de mantenimiento se ha desactivado.";
  25.             }else{
  26.                 $Final = "Se ha producido un error. Contacta con los responsables de la plataforma.";
  27.             }
  28.         }else{
  29.             $Final = "No tienes privilegios para ejecutar esta acción";
  30.         }
  31.         echo $Final;
  32.     ?>
  33. </body>
  34. </html>
__________________
Experto: aunque no sepas hacer algo, los novatos te pedimos que nos digas algo aunque sepas que no acertarás
  #2 (permalink)  
Antiguo 15/06/2016, 14:53
 
Fecha de Ingreso: febrero-2013
Mensajes: 115
Antigüedad: 11 años, 2 meses
Puntos: 5
Respuesta: Ajax sin formulario no funciona

Hola, pregunta: Incluiste el archivo de jquery? y otra pregunta! porque usas el evento click dentro de la div si puedes hacerlo con jquery? yo lo haria de la siguiente forma:

[HIGHLIGHT="HTML"]<script>
Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.         $("#App8").click(function(){
  3.           //para mi mejor es el get! porque no estas enviando nada ni necesitas grandes cosas!
  4.           /*$.get("Mantenimiento/Modificar.php",{}, function(respuesta){
  5.             //ejecutamos las instrucciones luego de...
  6.             alert(respuesta);
  7.           });*/
  8.  
  9.           //pero si quieres lo haces asi! da igual!
  10.           $.ajax({
  11.               type: "POST",
  12.               url: "Mantenimiento/Modificar.php",
  13.               success: function(respuesta){
  14.                   alert(respuesta);
  15.               },
  16.           });
  17.         })
  18.     </script>
  19. <div class="App" id="App8" onClick="javascript:ModoMantenimiento();">
  20. <div class="Icono">
  21.         t
  22. </div>
  23.   <div class="Nombre">
  24.       Mantenimiento
  25.     </div>
  26. </div>
__________________
http://tutorialesdelweb.blogspot.com/TutorialesWeb(principiantes)
  #3 (permalink)  
Antiguo 17/06/2016, 14:03
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Ajax sin formulario no funciona

Cita:
Iniciado por horusorion Ver Mensaje
Hola, pregunta: Incluiste el archivo de jquery? y otra pregunta! porque usas el evento click dentro de la div si puedes hacerlo con jquery? yo lo haria de la siguiente forma:

[HIGHLIGHT="HTML"]<script>
Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.         $("#App8").click(function(){
  3.           //para mi mejor es el get! porque no estas enviando nada ni necesitas grandes cosas!
  4.           /*$.get("Mantenimiento/Modificar.php",{}, function(respuesta){
  5.             //ejecutamos las instrucciones luego de...
  6.             alert(respuesta);
  7.           });*/
  8.  
  9.           //pero si quieres lo haces asi! da igual!
  10.           $.ajax({
  11.               type: "POST",
  12.               url: "Mantenimiento/Modificar.php",
  13.               success: function(respuesta){
  14.                   alert(respuesta);
  15.               },
  16.           });
  17.         })
  18.     </script>
  19. <div class="App" id="App8" onClick="javascript:ModoMantenimiento();">
  20. <div class="Icono">
  21.         t
  22. </div>
  23.   <div class="Nombre">
  24.       Mantenimiento
  25.     </div>
  26. </div>
¡Hola!

Probé con el código que me enviaste comentado pero no me funcionó. Incluí el archivo de JQuery que da Google (url https://ajax.googleapis.com/ajax/lib.../jquery.min.js) pero ni se inmuta. Por cierto, para más info, lo que hace el PHP es una consulta MySQL.

¡Gracias!
__________________
Experto: aunque no sepas hacer algo, los novatos te pedimos que nos digas algo aunque sepas que no acertarás
  #4 (permalink)  
Antiguo 18/06/2016, 08:48
Avatar de kip13  
Fecha de Ingreso: agosto-2011
Mensajes: 167
Antigüedad: 12 años, 8 meses
Puntos: 13
Respuesta: Ajax sin formulario no funciona

Hola, podrias verificar si existe algun error con Chrome usando el Inspeccionar elementos, CTRL + SHIFT + i, prueba de esa forma y fijate en el error que te muestre y nos comentas.

Saludos
  #5 (permalink)  
Antiguo 18/06/2016, 13:35
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Ajax sin formulario no funciona

Cometí el error más tonto del mundo: dos DIV con el mismo ID, por eso no funcionaba.

¡Muchas gracias!
__________________
Experto: aunque no sepas hacer algo, los novatos te pedimos que nos digas algo aunque sepas que no acertarás

Etiquetas: ajax, formulario
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 10:55.