Ajax har blivit en populär JavaScript kodningsteknik för att utforma webbapplikationer som beter sig mer som skrivbordsprogram genom att skicka och ta emot data utan en helsida uppdateringsfrekvens . Tyvärr webbläsarens säkerhetsinställningar hindrar dina skript från att läsa sidor på en extern server . Lyckligtvis gör PHP en sida på din egen server för att hämta externa data och göra den tillgänglig för din JavaScript . Genom att använda JavaScript Object Notation ( JSON ) , kan du också göra ett PHP- skript som gör externa data tillgängliga för JavaScript på någon server . Instruktioner
Hämtar data med cURL
1
Skapa en funktion i PHP som tar emot en extern URL som enda parameter .
Funktion fetch_url ( $ url ) {
< p> }
2
Skapa en ny cURL anslutning i funktionen
$ ch = curl_init ( ) , .
3
Ange alternativ för cURL anslutningen. De viktigaste alternativen är webbadressen som ska hämtas , retur - transfer ( som måste vara inställd på " 1 " för att läsa den externa serverns svar ) och en anslutning timeout .
Curl_setopt ( $ ch , CURLOPT_URL , $ url ) ;
curl_setopt ( $ ch , CURLOPT_RETURNTRANSFER , 1 ) ;
curl_setopt ( $ ch , CURLOPT_CONNECTTIMEOUT , 15 ) ;
4
Utför cURL anslutningen , och sedan spara den externa serverns svar på en variabel
$ uppgifter = curl_exec ( $ ch) ; .
5
Stäng cURL anslutningen för att frigöra resurser på servern
< . p > curl_close ( $ ch) ;
6
Avsluta funktionen genom att returnera innehållet i " $ uppgifterna " variabel . Den fullständiga koden för funktionen är :
funktion fetch_url ( $ url ) {
$ ch = curl_init ( ) ;
curl_setopt ( $ ch , CURLOPT_URL , $ url ) ;
curl_setopt ( $ ch , CURLOPT_RETURNTRANSFER , 1 ) ;
curl_setopt ( $ ch , CURLOPT_CONNECTTIMEOUT , 15 ) ;
$ uppgifter = curl_exec ( $ ch) ;
curl_close ( $ ch) ;
retur $ data;
}
Hämtar data med fopen
7
Skapa en funktion i PHP som tar emot en extern URL som enda parameter . Denna funktion kommer att hämta externa data med hjälp av " fopen ", eftersom vissa servrar inte stöder cURL .
Funktion fetch_url ( $ url ) {
}
8
Skapa en fil ström i funktionen som är inställd på att läsa mode
$ fs = fopen ( $ url , " r " ) ; .
9
Läs innehållet i URL med " stream_get_contents , " och lagra dem i en variabel
$ data = stream_get_contents ( $ fs ) , . .
10
Stäng filströmmen att frigöra servern resurser
fclose ( $ fs ) ;
11
tillbaka innehållet i " $ uppgifterna " variabeln och avsluta funktionen . Den fullständiga koden för fetch_url ( ) är :
funktion fetch_url ( $ url ) {
$ fs = fopen ( $ url , " r " ) ;
$ uppgifter = stream_get_contents ( $ fs ) ,
fclose ( $ fs ) ;
retur $ data;
}
utmatning av data
12
Ange webbadressen som du vill att din PHP-skript för att hämta . Detta kan skickas till skriptet som en parameter eller sats i skriptet
$ url = " http://www.example.com "; .
13
Använd fetch_url . funktionen att hämta innehållet i webbadressen och spara dem i en variabel
$ fetch_data = fetch_url ( $ url ) ;
14
Echo innehållet i variabel om du bara är intresserad av . lokal JavaScript för att kunna använda den
echo $ fetch_data ,
15
koda data med JSON innan ekande om du vill att externa JavaScript för att kunna använda din PHP-skript . JSON har även andra fördelar , såsom att låta dig skicka flera variabler till JavaScript . Exemplet nedan passerar både innehållet i URL samt själva webbadressen
$ utgång [ 'url ' ] = $ url ; .
$ Utgång [ ' innehåll ' ] = $ fetch_data ;
$ output = json_encode ( $ output) ;
echo $ utgång;
16
Point eventuella Ajax samtal i din JavaScript på webbadressen för PHP-skript . JavaScript kan nu hämta data från praktiskt taget var som helst på webben .