Ich finde viel dieses AJAX Material eine Spitze einer Übertreibung. Lose Leute haben
, ähnliche Sachen lange vorher es wurde zu verwenden „AJAX“. Und es wirklich
ist nicht so schwierig, wie viele Leute es ausmachen, um zu sein. Ist hier a
einfaches Beispiel von einem meiner apps.
/* DAS JAVASCRIPT, ZUM DER AJAX INFRASTRUKTURS ZU VERURSACHEN *
/* FUNKTION, ZUM DES BROWSER-DEPENDENT ANTRAG-GEGENSTANDES ZU VERURSACHEN *
Funktion createRequestObject ()
{
var ro;
var-Browser = navigator.appName;
wenn (Browser == „Microsoft Internet Explorer“)
{
ro = neues ActiveXObject („Microsoft.XMLHTTP“);
} sonst
{
ro = neues XMLHttpRequest ();
}
Rückholro;
}
/* FUNKTION, ZUM DES ANTRAGS ZU SENDEN *
Funktion sendReq (Tätigkeit)
{
http.open („erhalten“, 'ajaxprocessor.php? action='+ Tätigkeit);
http.onreadystatechange = handleResponse;
http.send (Null);
}
/* FUNKTION, ZUM DER ANTWORT ZU BEHANDELN *
Funktion handleResponse ()
{
wenn (http.readyState == 4)
{
var-Antwort = http.responseText;
var-Update = neue Reihe ();
wenn (response.indexOf („|“! = -1))
{
Update = response.split („|");
document.getElementById (Update [0]) .innerHTML = Update [1];
}
}
}
/* VERURSACHEN DEN GEGENSTAND *
var HTTP = createRequestObject ();
/* ENDE DES JAVASCRIPT *
Dieses verursacht einen Antraggegenstand zusammen mit einem sendenantrag und -handgriff
Wartefunktion. , sie so wirklich zu verwenden, konnten Sie dieses js innen einschließen
Ihre Seite. , einen dieser Hinteranträge Sie dann zu bilden binden ihn
zu etwas. Wie ein onclick Ereignis oder ein gerades href dieses mögen:
[Foo]
Das bedeutet das, wenn jemand an diese Verbindung klickt, was wirklich geschieht
ist der ein Hinterantrag zu ajaxprocessor.php? action=foo gesendet.
In ajaxprocessor.php konnten Sie etwas Ähnliches haben:
/* DAS PHP, ZUM DES ANTRAGS VOM VORDERSEITENindex ZU BEHANDELN *
Schalter ($_GET [„Tätigkeit“])
{
Fall „foo“:
// TUN, WAS AUCH IMMER DIE VERARBEITUNG ANGEBRACHT IST
// ZURÜCKBRINGEN DANN EINE WARTEschnur zum handleResponse schnur ()
Echo „foo|Foo getan“;
Bruch;
// ETC….
}
Jetzt Blick auf handleResponse. Es analysiert das „foo|Foo getane“ Schnur und
Spalten es auf „|“ und verwendet, was auch immer ist vor „|“ als die dom
Elementidentifikation in Ihrer Seite und im Teil nach als das neue innerHTML von dem
Element. Das Mittel, wenn Sie einen Div.-Umbau so in Ihrer Seite haben:
WarteFoo
Sobald Sie an diese Verbindung klicken, geändert das dynamisch zu:
Foo getan
Alles das ist dort ist zu ihm. Alles anderes im Bau ist gerade auf
dieses. Mein einfaches Warteersetzen „Identifikation|Text“ Syntax mit einem reicheren XML
formatieren und den Antrag stellend viel außerdem erschwert. Vor Ihnen
große „AJAX“ Bibliotheken blind anbringen, haben gehen am Rollen Ihre Selbst
Funktionalität also Sie können genau, es funktioniert und Sie sie nur wie bilden
schwierig, wie Sie brauchen. Häufig benötigen Sie nicht viel mehr als, was I
dargestellt hier er.
Erweiterung diese Annäherung eine Spitze, um mehrfache Parameter in zu senden
Antrag z.B. sein wirklich einfach. Etwas mögen:
Funktion sendReqArg (Tätigkeit, arg)
{
http.open („erhalten“, 'ajaxprocessor.php? action='+ action+'& arg='+ arg);
http.onreadystatechange = handleResponse;
http.send (Null);
}
Und Ihr handleResponse kann leicht erweitert werden, um interessanteres zu tun
Sachen als den Inhalt einer Div. gerade, ersetzend.
- Rasmus (Lerdorf?)
|