Ajax har blitt et populært JavaScript koding teknikk for å designe web-applikasjoner som oppfører seg mer som desktop-applikasjoner ved å sende og motta data uten en hel side refresh . Dessverre nettleserens sikkerhetsinnstillinger forhindre at skript fra å lese sider på en ekstern server. Heldigvis gjør PHP en side på din egen server for å hente eksterne data og gjøre det tilgjengelig for JavaScript ditt . Ved å bruke JavaScript Object Notation ( JSON ) , kan du også lage et PHP- script som gjør at eksterne data tilgjengelig for JavaScript på en hvilken som helst server. Instruksjoner
Henter data med cURL
en
Lag en funksjon i PHP som mottar en ekstern URL som sin eneste parameter.
Funksjon fetch_url ( $ url) {
< p> }
2
Opprett en ny cURL tilkobling i funksjon
$ lm = curl_init (); .
3
Angi alternativer for cURL tilkobling . De viktigste valgene er webadressen som skal hentes , retur -transfer (som må være satt til " 1 " for å lese den eksterne serverens respons) og en connection timeout .
Curl_setopt ( $ ch , CURLOPT_URL , $ url) ;
curl_setopt ( $ ch , CURLOPT_RETURNTRANSFER , 1 ) ;
curl_setopt ( $ ch , CURLOPT_CONNECTTIMEOUT , 15 ) ;
4
Utfør cURL tilkobling, og deretter lagre den eksterne serverens respons i en variabel
$ data = curl_exec ( $ ch ); .
5
Lukk cURL tilkobling for å frigjøre server ressurser
< . p> curl_close ( $ ch ) ;
6
End funksjonen ved å returnere innholdet i " $ data " variable . Den fullstendige koden for funksjonen er : en
funksjon fetch_url ( $ url) {
$ lm = curl_init ();
curl_setopt ( $ ch , CURLOPT_URL , $ url) ;
curl_setopt ( $ ch , CURLOPT_RETURNTRANSFER , 1 ) ;
curl_setopt ( $ ch , CURLOPT_CONNECTTIMEOUT , 15 ) ;
$ data = curl_exec ( $ ch );
curl_close ( $ ch ) ;
retur $ data ;
}
Henter data med Fopen
7
Lag en funksjon i PHP som mottar en ekstern URL som sin eneste parameter. Denne funksjonen vil hente eksterne data ved hjelp av " fopen ", siden noen servere støtter ikke krøller seg.
Funksjon fetch_url ( $ url) {
}
8
Lag en filstrøm i funksjonen som er satt til å lese modus
$ fs = fopen ( $ url , "r "); .
9
Les innholdet i nettadressen med " stream_get_contents ", og lagre dem i en variabel
$ data = stream_get_contents ( $ fs ) , . .
10
lukke filen stream å frigjøre server ressurser
< p > fclose ( $ fs ) ;
11
Tilbake innholdet i " $ data " variable og avslutte funksjonen . Den fullstendige koden fetch_url () er : en
funksjon fetch_url ( $ url) {
$ fs = fopen ( $ url , "r ");
$ data = stream_get_contents ( $ fs ) ,
fclose ( $ fs ) ;
retur $ data ;
}
Outputting data
12
Sett nettadressen du vil at PHP script for å hente . Dette kan overføres til skriptet som en parameter eller sett i skriptet
$ url = " http://www.example.com "; .
13
Bruk fetch_url . funksjon for å hente innholdet av URL og lagre dem i en variabel
$ fetch_data = fetch_url ( $ url) ;
14
Echo innholdet i variabelen hvis du bare vil . lokale JavaScript for å kunne bruke den
echo $ fetch_data ;
15
Socket data med JSON før ekko hvis du vil at eksterne JavaScript til å være i stand til å bruke PHP script . JSON har også andre fordeler, for eksempel slik at du kan passere flere variabler til JavaScript . Eksempelet nedenfor passerer både innholdet av URL , samt selve webadressen
$ utgang [' url '] = $ url ; .
$ Utgang [ ' innhold ' ] = $ fetch_data ;
$ output = json_encode ( $ output) ;
echo $ utgang,
16
Point noen Ajax samtaler i JavaScript din ved nettadressen til PHP script . JavaScript kan nå hente data fra nesten hvor som helst på nettet .