MyBB.de Forum
Ajax Abfrage - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: Ajax Abfrage (/thread-13492.html)



Ajax Abfrage - Desaster - 11.06.2009

Hallo,

ich suche schon seit Tagen nach einer guten Ajax Abfrage. Und das soll so aussehen.
Beim Betreten der Datei dreht sich zunächst ein Spindel (ähnlich wie bei der Übersicht auf der Startseite).

Die Abfrage wird ausgeführt und danach veröffnetlicht. Der Spindel verschwindet natürlich.
Hätte dazu hemand nen gutes Tutorial oder sogar Script?

Vielen Dank
mfg


RE: Ajax Abfrage - Michael - 11.06.2009

Ist das nicht das, was die Übersicht auch macht? Dann kannst du ja einfach nachsehen wie das da gelöst ist.


RE: Ajax Abfrage - Desaster - 12.06.2009

Code:
// Request erstellen
function createXMLHttpRequest() {

    var ab = false;
    // IE 7, Mozilla, Opera, Safari
    if (typeof(XMLHttpRequest) != 'undefined') {
        ab = new XMLHttpRequest();
    }
    if (!ab) {
        // IE 6 und älter
        try {
            ab  = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
            try {
                ab  = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e) {
                ab  = false;
            }
        }
    }
    
    return ab;
}


// Antwort verarbeiten
function handleResponse() {

    if(req.readyState == 4){
        var response = req.responseText;
        var update = new Array();
        document.getElementById('overview').innerHTML = response;
        document.getElementById('overview_load').innerHTML = "";
    }
}

// Daten laden und ausgeben
function dooverview(wait){

    if (wait == "1"){
        document.getElementById('overview_load').innerHTML = "<div style=\"text-align: center; margin: 5px auto auto 5px; width: 200px; position: absolute;\"><table style=\"margin: auto auto;\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" class=\"tborder\"><tr class=\"trow1\"><td><span class=\"smalltext\"><img src=\"images/overview_loading.gif\" alt=\"Loading\" width=\"12\" height=\"12\" /> Loading...</span></td></tr><table></div>";
    }
    req.open('GET', 'overview.php');
    req.onreadystatechange = handleResponse;
    req.send(null);
}

So wie ich das dann verstehe kann ich schonmal die ganze overview.js kopieren. Und in der Overview.php müsste bloß meine eigene Abfrage drin stehen ohne zusätzliche Funktionen, oder?

z.B. so
Code:
HTML Anzeige

PHP MySQL Abfrage

Meiner Meinung muss in die overview.php noch ein Code der sich mit der JS Datei verbindet. Diesen finde ich aber nicht. Kann mir da jemand helfen?
danke


RE: Ajax Abfrage - Zwoetzen - 12.06.2009

Im Script der Übersicht ist die Funktion handleResponse() dafür verantwortlich, dass die erhaltenen Daten anschließend (also nach Abschluss der Übertragung) im entsprechenden Div-Container angezeigt wird.


RE: Ajax Abfrage - Desaster - 12.06.2009

Ah, jo jetzt verstehe ich das. Danke

Das heißt ich muss auf der Seite nur die JS Datei verlinken, am besten mit <script src...., oder?

Und dann zieht sich die JS Datei die overview.php rein.

Vielen Dank für eure Hilfe


RE: Ajax Abfrage - StefanT - 12.06.2009

Mit Prototype, was das MyBB ja verwendet, geht es ganz einfach: http://www.prototypejs.org/learn/introduction-to-ajax