2012-05-18 6 views
5

bien, no muy seguro de si esto es posible, pero pensé en preguntar de todos modos :)uso de JavaScript confirmar diálogo para hacer una llamada PHP en el fondo

Tengo una página HTML que contiene algo de información y un enlace. El enlace llama a un cuadro de diálogo de confirmación de JavaScript. Si el usuario selecciona Aceptar, entonces quiero llamar a una función en un archivo PHP, pero en segundo plano, es decir, no quiero cambiar la página, volver a cargar ni nada.

¿Esto es posible?

Gracias

T

Respuesta

6

uso de AJAX. A continuación se utiliza jQuery:

if(confirm('Are you sure?')) { 
    $.ajax({ 
     url: '/path/to/file.php', 
     data: 'url=encoded&query=string', // Can also be an object 
     success: function(output) { 
      // This function is called after the PHP file completes. 
      // The variable passed in is a string containing all output of 
      // your PHP script (i.e. echo/print) 
     } 
    }); 
} 

Para obtener más información, consulte la documentación de jQuery para AJAX. Si no puede usar jQuery, hay muchos tutorials en el uso de JavaScript nativo para realizar solicitudes AJAX.

Si va a devolver una gran cantidad de datos a la función de su éxito desde PHP, sería una buena idea para que devuelva los datos de PHP como JSON encoded array, que puede ser de forma segura parsed del lado del cliente en un objeto JavaScript.

3
$('.LinkClass').click(function(){ 

    if(confirm('Is it OK?')) { 

    $.ajax({ 
     url: 'action.php', 
     type: 'POST', 
     data: 'data=value', // Can also be an object 
     success: function(data) { 
      // Do Nothing 
     }, 
     error: function(){ 
      alert('Error'); 
     } 
    }); 

    } 

}); 
Cuestiones relacionadas