Innledning På kundens nettleser, hva Ajax gjør er at den kaller en fil på serveren. Denne filen på serveren må være en kjørbar fil. Navnet på denne filen er en del av nettadressen som brukes av Ajax på klienten. Funksjonen til denne filen er å se etter den ønskede informasjonen fra serveren og sende tilbake til klienten. Målet med denne artikkelen er å vise deg hvordan du sender tilbake ønsket tekst til klienten nettleser. Jeg bruker Perl og PHP språk for illustrasjon. Du trenger grunnleggende kunnskaper i Ajax og Perl eller PHP for å forstå denne artikkelen.
For å håndtere Ajax på serveren, trenger du ikke å lære noen nye standarden eller teknologi. Alt du trenger å vite er hvordan du sender tilbake informasjon fra serveren til klienten. Type data Informasjonen sortert kan være tekst i en tekstfil, en hel tekstfil, tekst i en database eller en XML-fil. For enkelhets skyld skal vi anta at opplysningene sortert er bare litt tekst (et avsnitt) bosatt et sted på serveren. Det er ansvaret til denne kjørbare filen for å lete etter ønsket tekst i serveren.
Siden målet med denne artikkelen er å se hvordan informasjonen blir sendt tilbake, for enkelhet igjen skal vi ikke se hvordan den kjørbare filen ser for informasjonen i serveren. The Connection og sende informasjon tilbake Når tilkoblingen er opprettet mellom kundens nettleser og server (kjørbar fil), er det som om det er en strøm mellom klienten og nettleseren. All informasjon som den kjørbare filen på serveren sender til sin standard utgang går, men til bekken og tilbake til klienten nettleser (ikke til dataskjerm av serveren).
Så i tilfelle av Perl, alt du trenger å gjøre for å sende tilbake informasjonen, er å skrive print $ string; hvor $ strengen er en streng variabel som inneholder den ønskede tekst hentes fra serveren. I tilfelle av PHP, alt du trenger å gjøre er å sende tilbake informasjonen er å skrive, echo $ string; hvor $ strengen er en streng variabel som inneholder den ønskede tekst hentes fra serveren. Spørre String Søkestrengen er dataene sender med Ajax fra klienten nettleser. Med GET-metoden, all informasjon etter '?' tegn i URL, er søkestrengen.
Med POST-metoden, er søkestrengen sendes som argument for Ajax objektet Send () -metoden. Den kjørbare filen på serveren bruker informasjonen i søkestrengen å lete etter en bestemt tekst i serveren. Hvis det ikke er søkestrengen, bør den kjørbare filen sende en standard tekst. Et eksempel på en søkestrengen er: fname = John & lname = Smith Dette betyr at første navn er John og etternavn er Smith. Illustrasjon med Perl La oss vurdere en enkel Perl skript som heter ajaxPerlSvr.pl på serveren. Dette er den kjørbare filen på serveren. Dette er filnavnet i nettadressen til Ajax på klienten.
Anta at Ajax på klienten sendte ovenfor søkestrengen. La oss si, sikte på filen, ajaxPerlSvr.pl på serveren, er å trekke det første navnet, John danne søkestrengen sendes til serveren, og deretter sende tilbake "John" til klienten nettleser, som anmodet tekst fra serveren. I praksis er "John" vil bli brukt for å oppnå (søk) en bestemt tekst i serveren, og at teksten oppnådd, sendes til klienten. Dette er innholdet i Perl filen: bruk CGI; $ query = new CGI; $ value = $ query-> param ('fname'); print "Content-Type: text /html \\ n \\ n"; print $ verdi; Perl har en modul kalt CGI-modulen.
Denne modulen har funksjoner som mottar søkestrengen. Den første setningen ovenfor importerer CGI-modulen inn i programmet. Denne modulen er faktisk en klasse. Den har egenskaper og metoder for å manipulere søkestrengen. Den neste setningen i skriptet oppretter et objekt fra klassen. Navnet på objektet er $ query. Dette objektet har din søkestrengen. Uttalelsen etter, trekker det første navnet, "John" fra objektet, og tilordner den til variabelen, $ verdi. Denne uttalelsen trenger litt mer forklaring: Husk at søkestrengen består av navn /verdi-par.
Perl CGI klasse har en metode som kalles, param (). Hvis argumentet for param () er navnet på et navn /verdi-par, deretter param () metoden vil returnere verdien. 'fname' og 'John' skjemaet et navn /verdi-par i vår søkestrengen. Så hvis argumentet i param () metoden er "fname ', den param () metoden vil returnere," John ". I vårt tilfelle, objektet som bruker param () metoden er $ query. For å kalle metoden, param () av objektet, $ spørring, må du ha "->" mellom objektet og metoden. Den tredje setningen skal nå være klart.
Når du har den nødvendige teksten i Perl-programmet, er alt du trenger å gjøre for å bruke print-kommandoen til sende teksten tilbake til klienten. Siden det er en sammenheng (stream) med den kjørbare filen, går teksten til klienten i stedet for server monitor. Men før du sender den nødvendige teksten, må du først sende følgende informasjon: Content-Type: text /html \\ n \\ n Dette forklarer hvorfor du har den første utskriften uttalelse. Den nødvendige teksten er i variabel, $ verdi. Den andre print uttalelse sender ønsket tekst. Illustrasjon med PHP Det er to PHP programmene nedenfor.
Hver av disse programmene gjør akkurat hva Perl program (kode segment) ovenfor gjør. Med PHP, hvis Ajax brukes POST å sende søkestrengen, så i serveren, vil PHP ha navn /verdi-par med søkestrengen i en assosiativ array, kalt $ _POST. Dette er en intern PHP array og det er globalt tilgjengelig. En assosiativ array består av tastene med tilsvarende verdier. For søkestrengen navn /verdi-par, de $ _POST array-tastene er navn, mens de tilsvarende tabellverdiene er spørrestrengverdier.
Følgende PHP-koden er for POST-metoden: $ value = $ _POST ["fname"]; echo $ verdi?> Dette er et PHP kjørbar fil hvis navn må være i nettadressen til Ajax kode på klienten. Det er to linjer i koden. Den første linjen bruker navnet, "fname" som nøkkelen til $ _POST assosiativ array for å få verdien, "John". Denne verdien er tildelt variabelen, $ verdi. Husk, vil den assosiative array alltid holde søkestrengen sendt. Den andre linje i koden sender verdien "John" inn i strømmen av forbindelsen. Følgende kode gjør det samme, men for GET-metoden.
Her PHP har $ _GET assosiativ array å holde navn /verdi-par av søkestrengen, sendt av Ajax, ved hjelp av GET-metoden. $ value = $ _GET ["fname"]; echo $ verdi?>