2011-04-07 23 views
8

Duplicar posible:
Call PHP function from jQuery?llamando a la función php desde jquery?

Jquery en función de clic de botón de llamada php

$('.refresh').click(
    function(){ 
     <?php hello(); ?> 

    } 
) 

Código PHP

<?php 
function hello() 
{ 
echo "bye bye" 
} 
?> 

Quiero llamar a una función php desde jquery en el botón de clic ¿cómo puedo hacer esto?

+2

Posible duplicado de [ Llamar a la función PHP desde jQuery?] (Http://stackoverflow.com/questions/3548802/call-php-function-from-jquery) y miles más (ver la barra lateral * Related * en esta misma pregunta). Primero necesita corregir su malentendido de las secuencias de comandos del lado del cliente y del lado del servidor. – deceze

+0

hacer una solicitud ajax a un archivo php y procesar la salida del archivo php generado – ITroubs

+0

@RobertPitt no es imposible ;-) ITroubs

Respuesta

22

Desde jQuery solo puede llamar a script php con esta función. Al igual que:

$.ajax({ 
    url: 'hello.php', 
    success: function (response) {//response is value returned from php (for your example it's "bye bye" 
    alert(response); 
    } 
}); 

hola.php

<?php 
    echo "bye bye" 
?> 
0

php es el idioma del lado del servidor, js - lado del cliente ... Creo que deberías usar ajax. o su función php debe devolver un código javascript válido

1

PHP es algo que se ejecuta en el servidor, el cliente (navegador) no tiene acceso directo a cualquier parte del código PHP que está siendo ejecutado. Esto es muy bueno, porque de lo contrario todos podrían acceder a todos los archivos y a toda su base de datos mysql.

Puede combinar php y javascript (jquery) con AJAX o una biblioteca como xajax.

8

su JS

$('.refresh').click(
    function(){ 
     $.ajax({ 
      url: "ajax.php&f=hello", 
      type: "GET" 
      success: function(data){ 
       //Do something here with the "data" 
      } 
     }); 

    } 
) 

su ajax.php

<?php 

$validFunctions = array("hello","anotherF"); 

$functName = $_REQUEST['f']; 
if(in_array($functName,$validFunctions)) 
{ 
    $$functName(); 
}else{ 
    echo "You don't have permission to call that function so back off!"; 
    exit(); 
} 

function hello() 
{ 
    echo "bye bye"; 
} 

function anotherF() 
{ 
    echo "the other funct"; 
} 

function noTouch() 
{ 
    echo "can't touch this!"; 
} 
?> 

este es un pequeño ejemplo de invocación de tipo RMI muy básico y bastante feo de los métodos de PHP a través de ajax

+0

+1 para su código limpio –

Cuestiones relacionadas