Moin,
Bei meinem letzten Beispiel habe ich versucht die Ausgabeseite (test.php) mit der Aufrufseite zu kombinieren:
<?php
if($_GET['q'])
{
// echo $_GET['q'];
echo 'egal....';
die();
}
?><html>
<head>
<script type="text/javascript">
function starteAjax(url) {
var req = new XMLHttpRequest();
....
> Also ich rufe die Seite auf, der xmlHttpRequest ruft die gleiche seite aus, bekommt aber nur den von PHP generiereten Output.
Sobald das Skript einen Parameter q übergeben bekommt, gibt es "egal..." aus und stirbt ([man beachte das hier](http://community.de.selfhtml.org/zitatesammlung/zitat1282)).
> Mir fiel auch zuerst gar nicht auf, dass das nicht funktionierte, weil ich die URL einen Parameter übergab, den PHP dann darstellen sollte also test.php?q=abc liefert natürlich dann auch "abc". Als ich dann, wie im Code einen anderen Wert ausgeben wollte(egal....) kam trotzdem "abc".
Sicher, dass du das Skript korrekt abgespeichert hast, und der Server auch dieses Skript ausführt?
> Wenn aber die Ausgabedatei != die Aufrufdatei ist, also seperate Seite dann klappt alles.
Ich denke hier liegt ein Fehler in der URL und/oder dem Skript vor.
> Ist das Verhalten so vorgesehen und richtig, kann ich also nicht alles in einer Datei kombinieren?
Doch, grundsätzlich ist es möglich innerhalb eines Skripts sowohl Javascript-Code auszuliefern, als auch per AJAX dasselbe Skript parametriert aufzurufen um eine Information zu bekommen.
> Wieso nimmt der Request dann den URL-Parameter (q=abc) als angebliche xmlHttpRequest-Ausgabe an?
Wie gesagt: Ich meine, dass die URL, die du für den AJAX-Request benutzt auf ein (veraltetes) Skript zeigt, in dem noch die mittlerweile auskommentierte Zeile aktiv ist. Du benutzt IMHO entweder eine falsche URL oder das Skript ist nicht in der neuesten Version im korrekten Verzeichnis.
Grüße Marco
--
Ich spreche Spaghetticode - fließend.