In diesem Artikel wird hauptsächlich die Methode zur Implementierung einer einfachen Ajax-Ladefunktion in PHP vorgestellt. Er analysiert das Prinzip, die Betriebsfähigkeiten und die damit verbundenen Vorsichtsmaßnahmen in Form von Beispielen.
Die Details sind wie folgt:
var xmlHttp; function createXmlHttpReq() { if(window.ActiveXObject) { xmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); } else if(window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } } function funMy(url) { createXmlHttpReq(); try { xmlHttp.onreadystatechange = cb;//一定要在open()前,下边会有说明。在此处犯错了 xmlHttp.open("GET","for.php?id="+url,true); xmlHttp.send(null); } catch(e) { alert("您访问的资源不存在"); } } //回调函数 function cb() { if(xmlHttp.readyState==1) { alert("1-------------->"); //在Google Chrome 浏览器里不显示loading图片,三秒后显示内容,问题已解决,下边有说明 document.getElementById('ajax').innerHTML = "<img src=loading2.gif>"; //document.getElementById('ajax').innerHTML = "Loading......"; } if(xmlHttp.readyState == 4 && xmlHttp.status == 200) { var data = xmlHttp.responseText; document.getElementById('ajax').innerHTML = data; } }
Während des Tests blieb ich bei Chrome hängen. Bitte beachten Sie die Erklärung unten:
Wenn Sie es so schreiben, erhalten Sie keine Antwort von .readyState==1
Denn 1 bedeutet, dass .open() aufgerufen wurde
Aber .open() wird vor dem .onreadystatechange-Ereignis aufgerufen, daher sollte es für Sie unmöglich sein, eine Antwort von .readyState==1 zu erhalten
Daher, wenn Sie .readyState= erhalten möchten =1 =>.onreadystatechange, Sie müssen Vor .open()
Warum erhalten Sie es also manchmal?
Weil Sie dieselbe globale Variable verwenden ... Während des kontinuierlichen Betriebs kann es passieren, weil Eine XHR-Anfrage wartet noch auf PHP. Um sie erneut zu initialisieren und
auszulösen, sollten Sie sich zunächst für die Datenverarbeitungsmethode onreadystatechange entscheiden und dann die zu verarbeitenden Daten open()
senden
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er allen beim Lernen hilft.
Verwandte Empfehlungen:
Konfiguration der globalen Ajax-Ladebox (Ladeeffekt)
LadenWarteeffekt, bevor Ajax Daten zurückgibt (grafisches Tutorial)
Ajax implementiert den Ladeeffekt
Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine einfache Ajax-Ladefunktion in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!