Ajax hat sich zu einem beliebten JavaScript Codierung Technik für die Gestaltung von Web -Anwendungen, die mehr verhalten sich wie Desktop-Anwendungen durch das Senden und Empfangen von Daten ohne eine vollständige Aktualisierung der Seite . Leider verhindern die Sicherheitseinstellungen des Browsers Ihrer Skripte aus der Lektüre Seiten auf einem externen Server . Glücklicherweise erlaubt PHP eine Seite auf Ihrem eigenen Server , um externe Daten zu holen und zur Verfügung zu stellen Ihre JavaScript . Durch die Verwendung von JavaScript Object Notation (JSON ) , können Sie auch ein PHP-Skript , die externe Daten zur Verfügung JavaScript auf jedem Server macht . Anleitung
Abrufen von Daten mit cURL
1
Erstellen Sie eine Funktion in PHP , die eine externe URL erhält als einzigen Parameter .
Funktion fetch_url ($ url ) {
< p> }
2
erstellen Sie ein neues cURL Verbindung in der Funktion
$ ch = curl_init (); .
3
Set Optionen für den cURL Verbindung . Die wichtigsten Optionen sind die URL abgerufen werden , Rückkehr - Transfer (das muss auf " 1" gesetzt werden, um den externen Server die Antwort lesen ) und ein Verbindungs-Timeout .
Curl_setopt ( $ ch , CURLOPT_URL , $ url );
curl_setopt ( $ ch , CURLOPT_RETURNTRANSFER , 1);
curl_setopt ( $ ch , CURLOPT_CONNECTTIMEOUT , 15) ;
4
Führen Sie die cURL -Anschluss, und speichern Sie dann die externe Server-Antwort in einer Variablen
$ data = curl_exec ( $ ch ); .
5
die cURL Verbindung auf Schließen, um Server-Ressourcen freizugeben
< . p> curl_close ( $ ch );
6
Ende die Funktion durch Rücksendung der Inhalt des " $ data "-Variable . Der vollständige Code der Funktion ist :
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) ;
$ data = curl_exec ( $ ch );
curl_close ( $ ch );
Rückkehr $ data ; }
Daten holen mit Fopen
7
erstellen Sie eine Funktion in PHP , die eine externe URL erhält als einzigen Parameter . Diese Funktion holt externe Daten mit " fopen ", da einige Server nicht unterstützen cURL .
Funktion fetch_url ($ url ) { }
8
erstellen ein Datei-Stream in der Funktion, die auf den Modus gelesen wird
$ fs = fopen ( $ url , "r" ); .
9
lesen Sie den Inhalt der URL mit " stream_get_contents ", und speichern sie in einer Variablen
$ data = stream_get_contents ($ fs) ; . .
10
Schließen Sie die Datei -Stream frei zu Server-Ressourcen
< p > fclose ( $ fs) ;
11
Gibt den Inhalt des " $ data " variable und beenden Sie die Funktion . Der vollständige Code fetch_url () ist :
Funktion fetch_url ($ url ) { $
fs = fopen ( $ url , "r" );
$ data = stream_get_contents ($ fs) ;
fclose ( $ fs) ;
Rückkehr $ data ; }
Ausgabe der Daten
12
Stellen Sie die URL, die Sie möchten, dass Ihre PHP-Skript zu holen . Dies kann zu dem Skript als Parameter oder einen Satz in das Skript übergeben werden
$ url = " http://www.example.com "; .
13
Verwenden Sie die fetch_url . Funktion , um den Inhalt der URL abrufen und speichern sie in einer Variablen
$ fetch_data = fetch_url ($ url );
14
Echo der Inhalt der Variable, wenn Sie nur wollen . lokalen JavaScript in der Lage sein , es zu benutzen
echo $ fetch_data ;
15
Encode die Daten mit JSON vor echo , wenn Sie externe JavaScripts in der Lage sein , um Ihre PHP-Skript verwenden möchten. JSON hat auch andere Vorteile , wie zum Beispiel in dem Sie mehrere Variablen, um die JavaScript übergeben . Das folgende Beispiel leitet sowohl den Inhalt des URL sowie die URL selbst
$ output [ 'url' ] = $ url ; .
$ Output [' Inhalt '] = $ fetch_data ;
$ output = json_encode ( $ output );
echo $ output ;
16
Punkt irgendwelche Ajax Anrufe in Ihrem JavaScript unter der URL des PHP-Skripts . Du hast JavaScript können nun Daten aus praktisch überall im Web.