Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Ajax - Inhalt eines HTML-Tags ändern

Empfohlene Antworten

Veröffentlicht

Hallo,

ich versuche mich jetzt an AJAX, nur komme ich nicht dahinter, warum folgendes nicht funktioniert:

Javascript:



var xmlHttpObject = false;


// Überprüfen ob XMLHttpRequest-Klasse vorhanden und erzeugen von Objekte für IE7, Firefox, etc.

if (typeof XMLHttpRequest != 'undefined') 

{

    xmlHttpObject = new XMLHttpRequest();

}


// Wenn im oberen Block noch kein Objekt erzeugt, dann versuche XMLHTTP-Objekt zu erzeugen

if (!xmlHttpObject) 

{

    try 

    {

        xmlHttpObject = new ActiveXObject("Msxml2.XMLHTTP");

    }

    catch(e) 

    {

        try 

        {

            xmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP");

        }

        catch(e) 

        {

            xmlHttpObject = null;

        }

    }

}


// Laden der News

function load_news(id)

{

    xmlHttpObject.open('get','news.php?id='+id);

    xmlHttpObject.onreadystatechange = handleContent();

    xmlHttpObject.send(null);

	return false;

}


// Ausgeben der News in den Tags

function handleContent(style)

{

    if (xmlHttpObject.readyState == 4)

    {

        document.getElementById('news').innerHTML = xmlHttpObject.responseText;

    }

}

HTML-Teil:

<dl id="news">

    <dt title="11.1.1999">Title</dt>

    <dd>Text</dd>

</dl>

Die PHP Datei gibt einen Text, ähnlich dem Text zwischen den dl-Tags aus, auch mit den dt und dd. Nur funktioniert das nicht.

Der Aufruf der beiden Funktion klappt hervorragen. Und es werden auch keine Fehler ausgegeben.

mfg

1., der übliche Spruch ^^: nimm dir ein Ajax-Framework zur Hand.

ich empfehle Mootools, scriptaculous und prototype sind auch nicht schlecht, können aber nicht ganz so viel glaube ich. jQuery hat bei meinem test nicht gut abgeschnitten.

2. Test das innerHTML doch mal mit einem statischen Text/variable.

3. schaue nach was wirklich im responseText drin steht.

Der Aufruf der beiden Funktion klappt hervorragen. Und es werden auch keine Fehler ausgegeben.

Der übliche Spruch ^^: "Geht nicht" ist keine ausreichende Fehlermeldung!

Wird dein Serverskript überhaupt aufgerufen? Liefert es überhaupt was zurück? Was steht in deiner Antwort im Ajax-Aufruf? Hast du das auch einfach mal so "debugt", dir z.B. responseText einfach mal direkt ausgeben lassen? Findet er das richtige Element?

Das Beispiel müßte im FF funktionieren, der IE rafft das nicht ohne Probleme

und reagiert unwirsch auf kleinste Fehler im Code. Mit innerHTML habe ich bei

den IEs immer Ärger.

Mit welchem Browser hast Du das probiert ?

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.