Introdução No navegador do cliente, o que Ajax faz é que ele chama um arquivo no servidor. Este arquivo no servidor tem que ser um arquivo executável. O nome deste arquivo é parte da URL utilizada pelo Ajax no cliente. A função desse arquivo é olhar para as informações solicitadas a partir do servidor e enviar de volta ao cliente. O objetivo deste artigo é mostrar a você como enviar de volta o texto necessário para o navegador cliente. Eu uso as línguas Perl e PHP para ilustração. Você precisa de conhecimentos básicos em Ajax e Perl ou PHP, a fim de compreender este artigo.
Para lidar com Ajax no servidor, você não precisa aprender qualquer novo padrão ou tecnologia. Tudo que você precisa saber é como enviar de volta informações do servidor para o cliente. Tipo de dados As informações classificadas podem ser de texto em um arquivo de texto, um arquivo de texto todo, o texto em um banco de dados ou um arquivo XML. Por simplicidade vamos supor que as informações classificadas é apenas algum texto (um parágrafo) que residem em algum lugar no servidor. É da responsabilidade deste arquivo executável para olhar para o texto desejado no servidor.
Uma vez que o objetivo deste artigo é ver como a informação é enviada de volta, para simplificar novamente não vamos ver como o arquivo executável procura por informações no servidor. A conexão e enviar informações de volta Uma vez que a conexão é estabelecida entre o navegador do cliente eo servidor (arquivo executável), é como há um fluxo entre o cliente eo navegador. Qualquer informação que o arquivo executável no servidor envia para sua saída padrão, mas vai para o fluxo e de volta para o navegador do cliente (não para o monitor do computador do servidor).
Assim, no caso de Perl, tudo que você precisa fazer para enviar de volta a informação é digitar print $ string; onde $ string é uma variável string contendo o texto necessário obtido a partir do servidor. No caso do PHP, tudo que você precisa fazer para enviar de volta a informação é digitar, echo $ string; onde $ string é uma variável string contendo o texto necessário obtido a partir do servidor. A seqüência de consulta a cadeia de consulta são os dados enviados pelo Ajax do navegador do cliente. Com o método GET, toda a informação depois do '?' personagem na URL, é a string de consulta.
Com o método POST, a cadeia de consulta é enviado como o argumento do método Ajax objeto send (). O arquivo executável no servidor usa as informações na cadeia de consulta para procurar um texto específico no servidor. Se não houver nenhuma seqüência de consulta, o arquivo executável deve enviar um texto padrão. Um exemplo de uma cadeia de consulta é: fname = John Smith & lname = Isto significa que o primeiro nome é John e último nome é Smith. Ilustração com Perl Vamos considerar um script Perl simples chamado ajaxPerlSvr.pl no servidor. Este é o arquivo executável no servidor.
Este é o nome do arquivo na URL do Ajax no cliente. Suponha que o Ajax no cliente enviou a string de consulta acima. Digamos, o objetivo do arquivo, ajaxPerlSvr.pl no servidor, é extrair o primeiro nome, John formam a cadeia de consulta enviada para o servidor, e depois enviar de volta "John" para o navegador cliente, como o texto solicitado a partir do servidor. Na prática, o "John" irá ser utilizado para se obter (pesquisa) um texto em particular no servidor e que o texto seja obtido, enviado ao cliente.
Este é o conteúdo do arquivo Perl: use CGI; $ query = new CGI; $ value = $ query-> param ("fname"); print "Content-Type: text /html \\ n \\ n"; $ valor de impressão; Perl tem um módulo chamado o módulo CGI. Este módulo tem funções que recebem a string de consulta. A primeira declaração acima importa o módulo CGI em seu programa. Este módulo é na verdade uma classe. Ele tem propriedades e métodos para manipular a string de consulta. A próxima instrução no script cria um objeto da classe. O nome do objeto é de R $ consulta. Esse objeto tem sua seqüência de consulta.
A declaração após, extrai o primeiro nome, "John" do objeto, e atribui-lo para a variável, $ value. Esta declaração precisa de mais alguma explicação: Lembre-se que a cadeia de consulta é feita de pares nome /valor. A classe CGI Perl tem um método chamado, param (). Se o argumento de param () é o nome de um par nome /valor, então o método param () irá retornar o valor. "fname" e forma 'John' um par nome /valor em nossa cadeia de consulta. Assim, se o argumento do método param () é "fname", o método param () irá retornar, 'John'.
No nosso caso, o objecto que utiliza o método param () é $ consulta. A fim de chamar o método, param () do objeto, $ query, você precisa ter "->" entre o objeto eo método. A terceira declaração deve agora ser claro. Depois de ter o texto exigido no programa Perl, tudo que você tem a fazer é usar o comando de impressão para a enviar o texto para o cliente. Uma vez que existe uma ligação (stream) com o ficheiro executável, o texto vai para o cliente, em vez do monitor de servidor.
No entanto, antes de enviar o texto necessário, primeiro você deve enviar a seguinte informação: Content-Type: text /html \\ n \\ n Isso explica por que você tem a primeira declaração de impressão. O texto é exigido na variável, $ value. A segunda declaração de impressão envia o texto desejado. Ilustração com PHP Existem dois programas PHP abaixo. Cada um desses programas faz exatamente o que o programa Perl (segmento de código) acima faz.
Com PHP, Ajax se usado POST para enviar a string de consulta, em seguida, no servidor, PHP terá os pares nome /valor da string de consulta em uma matriz associativa, chamado $ _POST. Esta é uma matriz interna PHP e é globalmente acessível. Uma matriz associativa é composto de chaves com valores correspondentes. Para os pares nome /valor de cadeia de consulta, as chaves do array $ _POST são nomes, enquanto os valores de matriz correspondentes são valores de cadeia de consulta.
O seguinte código PHP é para o método POST: $ value = $ _POST ["fname"]; echo $ value?> Este é um arquivo executável PHP cujo nome tem de estar na URL do código Ajax no cliente. Há duas linhas no código. A primeira linha usa o nome, "fname" como chave da matriz associativa $ _POST para obter o valor, "John". Este valor é atribuído à variável, $ value. Lembre-se, a matriz associativa sempre realizar a seqüência de consulta enviada. A segunda linha no código envia o valor "John" para a corrente da conexão. O código a seguir faz a mesma coisa, mas para o método GET.
Aqui tem o PHP $ _GET matriz associativa para manter os pares nome /valor da string de consulta, enviada pelo Ajax, usando o método GET. $ value = $ _GET ["fname"]; echo $ value?>