php script ausgabe einfügen

b0unc3

Grünschnabel
nabend zusammen,

ich möchte mittels ajax die ausgabe eines php scripts in meine seite einzufügen.
allerdings führt er die funktion nicht aus, die ich mir dafür geschrieben habe..

so versuche ich die javascript funktion aufzurufen:

Code:
      <div class="TabbedPanelsContentGroup">
        <div class="TabbedPanelsContent Stil2">
          <p class="Stil3"><script type"text/javascript">getPageName()</script>&nbsp;- anderer text</p>
          <p class="Stil4">irgendein text</p>
          <p class="Stil4">&nbsp;</p>
        </div>
        <div class="TabbedPanelsContent">Inhalt 2</div>
        <div class="TabbedPanelsContent">Inhalt 3</div>
        <div class="TabbedPanelsContent">Inhalt 4</div>
        <div class="TabbedPanelsContent">Inhalt 5</div>
      </div>
    </div>

Allerdings scheint er diese funktion nicht aufzurufen, da das alert fenster was ganz am anfang ist nichtmals kommt.

hier meine funktion:

Code:
<script type="text/javascript">
var request;
function getPageName()
{
	alert("test");
	//Create Request
	if (window.XMLHttpRequest)
	{
		request = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		try
		{
			request = new ActioveXObject('Msxml.XMLHTTP');
		}
		catch (ex)
		{
			try
			{
				request = new ActiveXObject('Microsoft.XMLHTTP');
			}
			catch (ex2)
			{}
		}
	}
	//Request successfully created?
	if (!request)
	{
		alert("Request not created!");
		return false;
	}
	else
	{
		var url = "/quickscripts/pagename.php";
		request.open('post', url, true);
		request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		request.send('name=pagename');
		request.onreadystatechange = interpretRequest;
	}
}

und hier die funktion am ende (interpretRequest)

Code:
function interpretRequest()
{
	switch (request.readyState)
	{
		case 4:
			if (request.status != 200)
			{
				alert("Es ist ein Fehler aufgetreten: \nFehler"+request.status);
			}
			else
			{
				var content = request.responseText;
				document.getElementById('content').innerHTML = content;
			}
			break;
		default:
			break;
	}
}

diesen code habe ich von HIERl
da wird es zwar nicht ganz so gemacht, wie ich es brauche aber ich brauch ja auch erstmal einen anfang :rolleyes:

wär echt nett, wenn mir damit mal jemand helfen kann

Mfg. b0unc3
 
Hi,

mit den von dir geposteten Fragementen kann der Fehler nicht gefunden werden. Denn wenn ich es hier nachbaue, funktioniert es - auch wenn noch ein Tippfehler im Script ausgemerzt werden muss. Die Funktion selbst wird aber korrekt aufgerufen.

Code:
request = new ActioveXObject('Msxml.XMLHTTP');

Damit eine Aussage getroffen werden kann, warum die Funktion bei dir offensichtlich gar nicht aufgerufen wird, solltest du mal den kompletten Code zeigen - evtl. online.

Ciao
Quaese
 
Hey Quaese,

erstmal danke für die Antwort und das Finden meines Tippfehlers xD.
Hab den Fehler jetzt gefunden, hab die Funktionen einfach unten In den Code geschreieben.
Jetzt hab ich sie so wie sie sind in den <head>-Bereich gepackt und nun wird Sie auch aufgerufen =).

Allerdings hat er mir den Text nicht ausgegeben.
Dann habe ich folgendes gemacht:

Code:
document.getElementById('content').innerHTML = content;

ersetzt mit:

Code:
document.write(content);

allerdings zeigt er mir jetzt jedes mal eine neue weiße seite mit dem text anstatt ihn einfach an der stelle, wo ich die funktion aufrufe einzufügen =(

Mfg. b0unc3
 
Hi,

es ist wahrscheinlich, dass er das Element mit der ID content noch nicht kennt, wenn das Script ausgeführt wird.

Ruf das Script nicht hier
Code:
<p class="Stil3"><script type"text/javascript">getPageName()</script>&nbsp;- anderer text</p>
auf, sondern im onload-Event des Dokuments. Dazu notierst du im Header folgendes:
Code:
window.onload = function(){
  getPageName();
}
Dann sollte auch die Zuweisung des Textes über die innerHTML-Eigenschaft funktionieren.

Ciao
Quaese
 

Neue Beiträge

Zurück