¿Cómo puedo enviar datos AJAX a una función PHP específica y no solo al archivo PHP que contiene la función?

Puede ser lo suficientemente difícil / preciso para responder su pregunta sin el contexto / código completo. Pero, voy a intentarlo de todos modos.

Una forma rápida y sucia es usar $ _COOKIE. Dado que es una super variables globales de acuerdo con Superglobales – Manual. Puede acceder a ellos desde cualquier lugar, suponiendo que se haya configurado anteriormente. Por ejemplo, $ _COOKIE – Manual. De esta manera, cualquier función PHP puede acceder a ella. (No recomendaría de esta manera si los datos son confidenciales)

Otra forma es en lugar de enviar los datos AJAX a una función PHP específica, ¿qué tal si escribe funciones para diferentes métodos HTTP como GET, POST y PUT y las coloca en un archivo solo? Y, en esa función específica, simplemente incluye el archivo y lo trata como una biblioteca y llama a la función para obtener sus datos AJAX a través de CURL. Por ejemplo, este fragmento le muestra cómo hacer una solicitud HTTP a un punto final, la respuesta de PoAn (Baron) Chen a ¿Cómo llamo a API en PHP?

Por ahora, estos son los dos métodos en los que puedo pensar (agregaré más si encuentro otra forma mejor)

Espero que esto ayude y buena suerte!

La solicitud de Ajax solo envía o solicita una URL específica; depende del código del servidor en esa URL decidir qué hacer con la solicitud.

Básicamente, está solicitando la funcionalidad de una clase de Controlador, la ‘C’ en el popular patrón Modelo-Vista-Controlador (MVC). Hay muchos buenos marcos PHP que implementan esto. Code Igniter es una buena introducción.

El controlador en dicho marco maneja varias solicitudes relacionadas con una unidad de funcionalidad. Por ejemplo, puede tener un controlador ‘Usuario’ que tiene métodos para iniciar sesión, registrarse y editar una cuenta. La mayoría de los marcos MVC tienen métodos de enrutamiento que le permiten configurar un patrón de URL para orientar el método que desee. Por ejemplo, ‘mysite.com/user/edit’ dirigiría la solicitud al controlador del Usuario y ejecutaría el método Editar.

Si no desea un marco completo, puede buscar cómo crear un controlador simple o una clase MVC en PHP.

En el script que se ejecuta debido a la solicitud de Ajax, verificaría qué acción se debe realizar y luego llamaría a la función correcta con los datos, que luego generaría una respuesta adecuada en JSON.

Una solicitud Ajax es simplemente una solicitud HTTP.

Entonces, en el archivo php que recicla los datos, envíe los datos a una función nombrada por un argumento. Al igual que:

Solicitud:

  http://example.com/?f=parsehello?text=helloworld

Analizar con:

  función parsehello ($ texto) {
 echo ($ texto);
 }

 if function_exists ($ _ GET ['f']) {
 $ _GET ['f'] ($ _ GET ['texto']);
 }

Por supuesto, asegúrese de verificar los datos pasados ​​para evitar vulnerabilidades de seguridad.

Si está ejecutando una configuración típica de LAMP o WAMP, entonces el script index.php es lo que Apache ejecutará cuando reciba una llamada AJAX. Depende de usted qué funciones u otros scripts ejecuta y cómo maneja la solicitud y la respuesta.

Si la solicitud de AJAX está basada en JSON RESTful o incluso en XML, recomiendo Slim Framework.