En la Introducción En el navegador del cliente, lo que Ajax hace es que llama a un archivo en el servidor. Este archivo en el servidor tiene que ser un archivo ejecutable. El nombre de este archivo es parte de la URL utilizada por el Ajax en el cliente. La función de este fichero es la de buscar la información solicitada desde el servidor y enviar de vuelta al cliente. El objetivo de este artículo es mostrar cómo devolver el texto necesario para el navegador del cliente. Yo uso las lenguas Perl y PHP para la ilustración.
Es necesario un conocimiento básico en el Ajax y Perl o PHP para entender este artículo. Para manejar el Ajax en el servidor, no es necesario para aprender cualquier nueva norma o la tecnología. Todo lo que necesitas saber es cómo enviar de vuelta la información desde el servidor al cliente. Tipo de datos de la información ordenada puede ser texto en un archivo de texto, un archivo de texto conjunto, el texto en una base de datos o un archivo XML. Para simplificar supondremos que la información ordenada es sólo un poco de texto (un párrafo) que reside en algún lugar en el servidor.
Es la responsabilidad de este archivo ejecutable para buscar el texto deseado en el servidor. Dado que el objetivo de este artículo es ver cómo se envía la información de nuevo, por la sencillez de nuevo no vamos a ver cómo el archivo ejecutable busca la información en el servidor. La conexión y envío de información hacia atrás Una vez establecida la conexión entre el navegador del cliente y el servidor (archivo ejecutable), que es como hay una corriente entre el cliente y el navegador.
Cualquier información que el archivo ejecutable en el servidor envía a su salida estándar va pero a la corriente y de vuelta al navegador del cliente (no en el monitor de la computadora del servidor). Así que en el caso de Perl, todo lo que tiene que hacer para devolver la información es escribir print $ string; donde $ cadena es una variable de cadena que contiene el texto deseado obtenido desde el servidor.
En el caso de PHP, todo lo que tiene que hacer para devolver la información es escribir, $ cadena eco; donde $ cadena es una variable de cadena que contiene el texto deseado obtenido desde el servidor. La cadena de consulta La cadena de consulta son los datos a enviar por el Ajax desde el navegador del cliente. Con el método GET, toda la información después de que el '?' personaje de la URL, es la cadena de consulta. Con el método POST, la cadena de consulta se envía como el argumento del método Ajax objeto send ().
El archivo ejecutable en el servidor utiliza la información de la cadena de consulta para buscar un texto en particular en el servidor. Si no hay una cadena de consulta, el archivo ejecutable debe enviar un texto predeterminado. Un ejemplo de una cadena de consulta es: fname = Juan y lname = Smith Esto significa que primero nombre es Juan y apellido es Smith. Ilustración con Perl Consideremos un simple script en Perl llamado ajaxPerlSvr.pl en el servidor. Este es el archivo ejecutable en el servidor. Este es el nombre del archivo en la dirección URL del Ajax en el cliente.
Supongamos que el Ajax en el cliente envía la cadena de consulta anteriormente. Digamos, la finalidad del fichero, ajaxPerlSvr.pl en el servidor, es extraer el primer nombre, John forman la cadena de consulta enviada al servidor y enviar de vuelta "Juan" al navegador del cliente, ya que el texto solicitado desde el servidor. En la práctica, el "Juan" será utilizado para obtener (búsqueda) de un texto en particular en el servidor y que el texto obtenido, se envía al cliente.
Este es el contenido del archivo de Perl: el uso de CGI; $ consulta = new CGI; $ valor = $ query-> param ('fname'); print "Content-Type: text /html \\ n \\ n"; print valor $; Perl tiene un módulo llamado módulo CGI. Este módulo tiene funciones que reciben la cadena de consulta. La primera declaración anterior importa el módulo de CGI en su programa. Este módulo es en realidad una clase. Tiene propiedades y métodos para manipular la cadena de consulta. La siguiente declaración en el script crea un objeto de la clase. El nombre del objeto es de $ consulta.
Este objeto tiene su cadena de consulta. La declaración después, extrae el primer nombre, "Juan" del objeto, y lo asigna a la variable, $ valor. Esta declaración necesita un poco más de explicación: Recuerde que la cadena de consulta se compone de pares nombre /valor. La clase CGI Perl tiene un método llamado, param (). Si el argumento de param () es el nombre de un par nombre /valor, entonces el método param () devolverá el valor. "fname" y la forma 'John' un par nombre /valor en nuestra cadena de consulta.
Así que si el argumento del método param () es "fname ', el método param () devolverá,' John '. En nuestro caso, el objeto que utiliza el método param () es $ consulta. Para llamar al método, param () del objeto, $ consulta, es necesario tener "->" entre el objeto y el método. La tercera declaración debe ahora ser claro. Una vez que tenga el texto deseado en el programa Perl, todo lo que tienes que hacer es utilizar el comando de impresión al enviar el texto de nuevo al cliente.
Dado que no hay una conexión (corriente) con el archivo ejecutable, el texto continúa al cliente en lugar del monitor servidor. Sin embargo, antes de enviar el texto necesario, primero debe enviar la siguiente información: Content-Type: text /html \\ n \\ n Esto explica por qué usted tiene la primera sentencia print. El texto requerido está en la variable, $ valor. La segunda sentencia print envía el texto requerido. Ilustración con PHP Hay dos programas PHP abajo. Cada uno de estos programas hace exactamente lo que el programa Perl (segmento de código) anterior hace.
Con PHP, Ajax si utiliza POST para enviar la cadena de consulta, a continuación, en el servidor, PHP tendrá los pares nombre /valor de la cadena de consulta en una matriz asociativa, llamada $ _POST. Este es un arreglo interno de PHP y es accesible a nivel mundial. Una matriz asociativa consiste de llaves con valores correspondientes. Para la cadena de consulta pares nombre /valor, las claves del array $ _POST son nombres, mientras que los valores correspondientes de la matriz son los valores de cadena de consulta.
El siguiente código PHP es para el método POST: $ valor = $ _POST ["fname"]; valor echo $?> Este es un archivo ejecutable de PHP cuyo nombre tiene que estar en la URL del código Ajax en el cliente. Hay dos líneas en el código. La primera línea utiliza el nombre de "fname" como clave del array asociativo $ _POST para obtener el valor, "Juan". Este valor se asigna a la, $ valor de la variable. Recuerde, la matriz asociativa siempre tendrá la cadena de consulta enviado. La segunda línea en el código envía el valor "John" en la corriente de la conexión.
El siguiente código hace lo mismo, pero por el método GET. Aquí PHP tiene el $ _GET matriz asociativa para contener los pares nombre /valor de la cadena de consulta, enviado por el Ajax, con el método GET. $ valor = $ _GET ["fname"]; valor echo $?>