Llamar a la función PHP usando jQuery AJAX

He leído todos los temas sobre mi pregunta pero no puedo resolver mi problema. Quiero obtener el resultado de la función php usando jQuery AJAX.

function.php

function generateCode() { //code here } function generateResult() { //code here } 

¿Cómo puedo ver el resultado de la función usando jQuery AJAX? No quiero cambiar la estructura de function.php porque se relaciona con otras páginas.

Consulte el uso de jquery $ .ajax para llamar a una función PHP , ninguna respuesta puede resolver mi problema. Gracias

Para usar clases y funciones de PHP casi directamente, puede usar xajax .

No se puede llamar a una función en un archivo PHP desde Javascript, punto. El cliente (aquí: Javascript) solo puede comunicarse con el servidor (aquí: PHP) a través del protocolo HTTP. El protocolo HTTP no tiene noción de archivos, funciones o lenguajes de progtwigción. Esto significa que está limitado a transmitir información a través de la URL o los encabezados HTTP. Como tal, nunca puede llamar a una función de PHP desde Javascript, todo lo que puede hacer es solicitar una URL que devuelva datos .

Entonces, al solicitar una URL, digamos http://example.com/myscript.php , se invoca el script myscript.php . Este script ahora tiene que descubrir qué debería hacer y generar alguna respuesta. Este script realmente puede llamar a funciones de PHP , por ejemplo:

 // myscript.php include 'functions.php' echo generateCode(); 

Como tal, siempre que solicite la URL http://exmaple.com/myscript.php , obtendrá el resultado de la función generateCode() . Puede observar que esto funciona igual que cuando visita una URL con un navegador web. Esto se debe a que este es el único mecanismo para ejecutar código a través de un servidor web que utiliza el protocolo HTTP y, por lo tanto, es la única forma en que JavaScript puede “llamar funciones de PHP”. Javascript no tiene una puerta trasera secreta para llamar a las funciones de PHP directamente.

Espero que esto ayude.

Lo que hago es en JavaScript. Paso el nombre de la función PHP a la que quiero llamar. Me gusta..

 function MyFunction() { jQuery.ajax({ type: "GET", url: "function.php", data: "call=generateCode", success: function(response){ //do something }); } 

Aquí en el campo de datos la variable “call” tiene el nombre de la función para llamar desde el archivo “function.php”.

en “function.php” coloco el código debajo para llamar a la función

 if($_SERVER['REQUEST_METHOD']=="GET") { $function = $_GET['call']; if(function_exists($function)) { call_user_func($function); } else { echo 'Function Not Exists!!'; } } 

JQuery

 $.ajax({ url: "script.php", type: "POST", data: "id=1", success: function(msg){ alert(msg); } } 

PHP

 < ?php $id = $_POST['id']; echo "The id is ".id; ?> 

Obtendrás el resultado de la función php en msg desde el estado de $.ajax success .