Advertisement
  1. Code
  2. PHP

Cómo llamar a una función de PHP desde JavaScript

by
Read Time:6 minsLanguages:

Spanish (Español) translation by Ana Paulina Figueroa Vazquez (you can also view the original English article)

PHP viene con muchas más funciones integradas para trabajar con cadenas, arreglos y otros tipos de datos en comparación con JavaScript. Por lo tanto, es natural que mucha gente sienta la necesidad de llamar a funciones de PHP desde JavaScript. Sin embargo, como quizá habrás adivinado o descubierto, esto no funciona como es de esperarse.

Puede haber muchos otros casos en los que quizá quieras ejecutar código PHP dentro de JavaScript, por ejemplo, para guardar datos en tu servidor. En este caso, simplemente colocar el código PHP dentro de JavaScript tampoco funcionará.

La razón por la que no puedes simplemente llamar a una función de PHP desde JavaScript tiene que ver con el orden en el que estos lenguajes son ejecutados. PHP es un lenguaje del lado del servidor, y JavaScript es principalmente un lenguaje del lado del cliente.

Cada vez que quieres visitar una página, el navegador envía una solicitud al servidor, quien luego procesa la solicitud y genera alguna salida ejecutando el código PHP. Después, la salida o la página web generada son enviadas de vuelta a ti. El navegador generalmente espera que la página web esté compuesta por HTML, CSS y JavaScript. Cualquier código PHP que hayas colocado o puesto con la función echo dentro de JavaScript ya se habrá ejecutado o no se ejecutará en absoluto cuando la página web se cargue en el navegador.

Sin embargo, no debes perder la esperanza. En este tutorial, explicaré cómo puedes llamar a funciones de PHP desde JavaScript y a funciones de JavaScript desde PHP.

Llama a una función de PHP desde JavaScript

Podemos usar AJAX para llamar a una función de PHP en datos generados dentro de un navegador. Muchos sitios web utilizan AJAX para actualizar partes de páginas web sin tener que volver a cargar la página completa. Esto puede mejorar significativamente la experiencia del usuario cuando se hace correctamente.

Ten en cuenta que el código PHP aún se ejecutará en el servidor. Simplemente le proporcionaremos datos desde el interior de nuestro script.

Uso de AJAX de jQuery para ejecutar código PHP

Si estás utilizando jQuery en tu sitio web, será increíblemente sencillo llamar a cualquier archivo PHP que tenga el código que quieras ejecutar.

Puedes enviar uno o dos parámetros a la función ajax(). Cuando se envían dos parámetros, el primero será el URL de la página web en la que el navegador enviará tu solicitud. Cuando envíes solamente un parámetro a ajax(), el URL se especificará en la configuración.

El segundo parámetro contiene un grupo de opciones de configuración diferentes para especificar los datos que intentas procesar y qué hacer en caso de éxito o fracaso, etc. Las opciones de configuración se envían en formato JSON.

Puedes usar el parámetro method para especificar el método HTTP que debe usarse para realizar la solicitud. Estableceremos su valor como POST, ya que también enviaremos datos al servidor.

Ahora veamos un ejemplo de una solicitud AJAX básica, en la que enviaremos datos a un archivo PHP y llamaremos a la función PHP wordwrap() dentro de ese archivo. Esta es nuestra página web completa:

Coloca el siguiente código en un archivo llamado wrap.php en el mismo directorio.

Recuerda que tienes que usar la función echo con los datos que quieras enviar de vuelta al navegador. Si todo va bien, tu página web se verá como la de la imagen mostrada a continuación.

Calling PHP Function in JavaScript with AJAXCalling PHP Function in JavaScript with AJAXCalling PHP Function in JavaScript with AJAX

Uso de la API Fetch para ejecutar código PHP

También puedes usar la API Fetch para ejecutar código PHP en datos recopilados dentro del navegador enviando una solicitud POST al servidor. En el ejemplo anterior, podríamos reemplazar el código AJAX con el siguiente código JavaScript para obtener el mismo resultado.

Al igual que en el ejemplo de AJAX, especificamos el URL y proporcionamos información de encabezado adicional que enviará nuestros datos en formato de URL codificado. Esto nos permite usar $_POST del lado del servidor para leer los datos.

Llama a una función de JavaScript desde PHP

Como ya sabes, PHP se ejecutará antes de JavaScript cuando solicites una página web de algún servidor. También podemos desplegar cualquier cosa que queramos mostrar en la página web usando echo. El mismo echo puede ser usado para generar JavaScript que se ejecutará en el navegador del cliente.

Aquí puedes ver un código de ejemplo que revisará un arreglo de cadenas para encontrar el índice del último palíndromo. Este índice se almacena en una variable de PHP, que luego se envía a JavaScript escrita dentro de la etiqueta script usando echo.

El ejemplo anterior muestra cómo puedes enviar datos de PHP a JavaScript simplemente usando la función echo con ellos. Solo asegúrate de que el código que estés generando usando echo sea JavaScript válido.

Conclusión

Todos sabemos que PHP se ejecuta en servidores y que JavaScript generalmente se ejecuta en navegadores. Dado que ambos se ejecutan en momentos diferentes, no puedes simplemente llamar a funciones de un lenguaje dentro de otro y esperar que el código funcione. Sin embargo, hay formas de solucionar ese problema, haciendo posible el intercambio de información entre PHP y JavaScript.

Para resumir, puedes usar AJAX cuando quieras llamar a una función de PHP desde JavaScript o ejecutar código PHP en datos generados dentro de los navegadores. Puedes usar echo en PHP para generar código JavaScript que será ejecutado más tarde en el navegador del cliente. Si tienes alguna pregunta sobre el artículo, por favor házmelo saber en los comentarios.

Aprende PHP con un curso gratuito en línea

Si quieres aprender PHP, ¡consulta nuestro curso gratuito en línea sobre los fundamentos de PHP!

En este curso, aprenderás los fundamentos de la programación en PHP. Comenzarás con los conceptos básicos, aprendiendo cómo funciona PHP y escribiendo bucles y funciones simples en él. Luego avanzarás a la codificación de clases para una programación orientada a objetos (POO) sencilla. En el camino, aprenderás las habilidades más importantes para escribir aplicaciones para la web: tendrás la oportunidad de practicar la respuesta a las solicitudes GET y POST, analizar JSON, autenticar usuarios y usar una base de datos MySQL.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.