Hallo,
Ich habe in der Zwischenzeit einen passenden Code gefunden. Er funktioniert auch einwandfrei. Zumindest bis ich in der Datei "test2.php" eine Datenbank-Abfrage (mySQL) machen will.
was heißt das konkret? Wie äußert sich dein "Funktionieren" oder "Nichtfunktionieren"?
Gibt es Restriktionen im Zusammenhang mit XMLHttpRequest?
Natürlich, aber nicht in der Form, die du andeutest. Da geht ein Request an den Server, der in aller Regel ein Script anstößt, und dann kommt ein Response. Ob das Script zwischendurch nur den String "Hallo" ausgibt, oder eine Google-Suche macht, oder Informationen aus einer DB abfragt, ist egal.
Aber ich sehe in deinem Codeauszug, dass du dasselbe Script per AJAX-Aufruf einmal als eigenständiges Script verwendest, und einmal mit include in ein anderes Dokument einbindest:
macheRequest('test2.php'); <div id="middle"><?php include ("test2.php"); ?></div>
Damit das direkte include sauber läuft, darf das PHP-Script z.B. keine HTTP-Header mehr setzen; wenn es über den XHR aufgerufen wird, muss es das aber möglicherweise. Es kommt nun also darauf an, welche Ausgaben dein PHP-Script macht und welche Header es zu senden versucht.
xmlHttp.open("GET", url, true); xmlHttp.onreadystatechange = alertInhalt; xmlHttp.setRequestHeader("Pragma", "no-cache"); xmlHttp.setRequestHeader("Cache-Control", "must-revalidate"); xmlHttp.setRequestHeader("If-Modified-Since", document.lastModified); xmlHttp.send(null);
Das ist so nicht sinnvoll: Die Header "Pragma" und "Cache-Control" müssen, wenn überhaupt, in der Server-Antwort auftauchen, nicht im Request. Oder soll deiner Meinung nach der Server auch Empfehlungen zum Cache-Verhalten auswerten?
So long,
Martin
Ordnung ist, wenn man etwas findet, was man gar nicht sucht.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(