Ajax und PHP auf selber Seite

chuvak

Erfahrenes Mitglied
Ich habe einen Text und einen Button, der bei Klick einen von PHP generierten Text in eine DIV-Box schreiben soll. Das Ganze befindet sich auf einer Seite und soll mit Ajax realisiert werden:

PHP:
<?php
if(isset($_GET['action']))
{
switch($_GET['action'])
{
case 'ajax':
	echo 'Hier ist Ajax';
break;
	
default:
		  echo 'fehler';
break;
}
}
?>
HTML:
<script type="text/javascript">
function CreateXmlHttpObjet()
{
  var xmlHttpObject = null;

  try
  {
    // Firefox, Opera 8.0+, Safari
    xmlHttpObject = new XMLHttpRequest();
  }
  catch( e )
  {
    // Internet Explorer
    try
    {
      xmlHttpObject = new ActiveXObject( "Msxml2.XMLHTTP" );
    }
    catch( e )
    {
      xmlHttpObject = new ActiveXObject( "Microsoft.XMLHTTP" );
    }
  }
  
  return xmlHttpObject;
}

function loadContent()
{
	xmlHttpObject = CreateXmlHttpObjet();
    xmlHttpObject.open('get','board1.php?action=ajax', true);
    xmlHttpObject.onreadystatechange = handleContent;
    xmlHttpObject.send(null);
    return false;
}

function handleContent()
{
    if (xmlHttpObject.readyState == 4)
    {
        document.getElementById('inhalt').innerHTML = xmlHttpObject.responseText;
    }
}
</script>

<p>Ich werde nicht neu geladen</p>
<div id="inhalt" style="border: solid;">
    <a href="#" onclick="loadContent()">Klick mich</a>.<br>
	was kommt gleich?
</div>

Der Inhalt der DIV-Box soll überschrieben werden, allerdings bleibt der alte Inhalt drin und es kommt neuer hinzu. Ich habe das Gefühl, als würde die Seite einfach nochmal "reingeladen" werden.


Wenn ich den Inhalt aber aus einer externen Datei reinlade:
PHP:
<?php
if(isset($_GET['param'])){
	
	echo $var . "externe datei ueber ajax geht!";
}else{
	echo "externe datei: param nicht gesetzt";
}
?>
Und die eine Zeile entsprechend anpasse:
HTML:
xmlHttpObject.open('get','ajax.php?param=bla');
funktioniert alles einwandfrei.

Sieht jemand den Fehler?

Danke!
 
Ich habs jetzt:

PHP:
if(isset($_GET['action']))
{
$zahl = rand(5,100);
switch($_GET['action'])
{
case 'ajax':
	echo $zahl;
break;
	
default:
		  echo "fehler";
break;
}
exit(); // Das exit hat gefehlt.
}
 

Neue Beiträge

Zurück