2012-06-30 12 views
5

Es mag seltsam klingen, aber ich habe Spiele in PHP programmiert. Das Hauptproblem, das ich gefunden habe, war, dass die einzige Möglichkeit, PHP zu aktualisieren, das Laden einer Seite ist. Das macht die Echtzeit langsam. JavaScript kann mit einer Seite interagieren, ohne sie neu zu laden. Ist es möglich, PHP-Seiten auf einer Seite mit Javascript zu laden? Damit würde es PHP ermöglichen, immer wieder geladen zu werden, ohne es neu zu laden.PHP und Javascript arbeiten zusammen

Ich habe es mit Chat-Räumen gesehen, aber nicht sicher, wie es funktioniert.

+1

Ja, Ajax. Und wenn du Ajax machst, würde ich die Jquery-Bibliothek sehr empfehlen, da es es viel einfacher macht – Kris

Antwort

3

Wir verwenden meist Ajax, die in einem clientseitigen JavaScript-Code besteht, der eine serverseitige Seite aufruft, ohne die Seite zu verlassen.

Hier ist ein Beispiel, das den angezeigten Inhalt einer Seite erhalten, die GET Methode (JSFiddle) mit:

var xhr = XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHttp'); 
xhr.onreadystatechange = function(){ 
    if(xhr.readyState==4 && ((xhr.status>=200 && xhr.status<300) || xhr.status==304)){//Checks if the content was loaded 
     console.log(this.responseText); 
    } 
} 
xhr.open('GET','myPHPPage.php?foo=foo&bar=bar',true); 
xhr.send(); 

Und hier mit der POST Methode (JSFiddle):

var xhr = XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHttp'); 
var data = 'foo=foo&bar=bar'; 
xhr.onreadystatechange = function(){ 
    if(xhr.readyState==4 && ((xhr.status>=200 && xhr.status<300) || xhr.status==304)){//Checks if the content was loaded 
     console.log(this.responseText); 
    } 
} 
xhr.open('POST','myPHPPage.php',true); 
xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded'); 
xhr.setRequestHeader('Content-length',data.length); 
xhr.send(data); 

Beachten Sie, dass hier die Methode setRequestHeader verwendet wird, um die Header dieser HTTP-Anforderung zu ändern und in diesem Fall diezu ändernund die Content-length (dieser Header hat einen Standardwert von 4096 Bytes). Auch die setRequestHeader Methode muss nach der open Methode aufgerufen werden.

Diese Links sollen Ihnen helfen:

https://developer.mozilla.org/en/Ajax

http://code.google.com/intl/pt-BR/edu/ajax/tutorials/ajax-tutorial.html

+0

Die zweite Verbindung 404. –

+0

Ich habe den Link korrigiert –

2

Ja, es ist unglaublich häufig. Lesen Sie auf Ajax.

+0

Ist das das, was Facebook verwendet, um neue Status hochzuladen, ohne die Seite aktualisieren zu müssen? –

+0

Ja, genau das gleiche –

+0

Ich las auf W3Schulen wie Abadis zuvor vorgeschlagen. Ich sehe es kurz. Gibt es mehr und/oder einen besseren Ort, um etwas über Ajax zu erfahren, oder ist das so ziemlich alles? Btw, danke, das macht viel mehr Sinn. –

0

Wir nennen das AJAX !!! Lesen Sie die Dokumentation im Internet über Ajax

+0

Vorsicht: Menschen hier nicht mögen w3schools.com –

+0

Während Verknüpfung zu w3schools kann Okey sein, nennen es "die Dokumentation" ist einfach falsch. – Matsemann

+0

Ich bearbeitete die Post – Abadis

Verwandte Themen