Domino 9 und frühere Versionen > ND7: Entwicklung
AJAX in Lotus Notes : VIEW auslesen
chili:
Hallo,
ich möchte eine AJAX Anwendung in Lotus Domino 7 programmieren. Da ich Anfänger in Domino bin, habe ich anfangs mitbekommen das es PHP in Lotus gar nicht gibt ;) was mich natürlich etwas verunsichern tut, da viele AJAX Anwendungen auf PHP zurückgreifen. Als Einstieg möchte ich einen kleinen Chat-Room bauen, der über den Domino Server läuft.
Ich weiss leider momentan gar nicht so richtig wie ich anfangen soll. Speziell wie ich mittels dem XMLHttp-Request Daten aus Domino anfordern kann.
Bei einem Chat-Room muss ja der vom Nutzer eingegebene Text zwischengespeichert werden, bspw. in einer XML Datei oder in einer mysql DB. Diese Optionen stehen mir unter Domino nicht zur Verfügung. Unter Domino wird der Text in einer VIEW abgelegt.
Ich würde nun sehr gern wissen wie man auf den eingegegebenen Nachrichten-Text (also auf die VIEW über 'xmlHttp.open('GET', url , true) mittels XMLHttpRequest zugreifen kann?
Und natürlich andersherum, wie man mittels 'POST' Text in der VIEW ablegen kann...
Die Funktion zum Auslesen sieht folgendermaßen aus:
--- Code: ---function loadData()
{
if (xmlHttp) {
var url = '/' + $('WebDBName_').value + '/Messages?ReadViewEntries';
xmlHttp.open('GET', url , true);
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
document.getElementById("asb_content").innerHTML = xmlHttp.responseText;
}
};
xmlHttp.send(null);
}
}
--- Ende Code ---
Die Zeile in der die Variable 'url' gesetzt wird ist leider nicht korrekt. Weiss jemand wie ich eine Verbindung zur view herstellen kann damit ich dessen Inhalt auslesen kann?
Schonmal Danke für eure Hilfe!
Glombi:
Hier im Forum gibt es bereits etliche Beiträge zum Thema Ajax - leider noch etwas verstreut. Suche einfach mal nach Ajax.
Es gibt insb. Links zu Seiten, auf denen auch Code und tiefergehende Beispiele stehen.
Andreas
chili:
Ich habe mich mal umgeschaut aber leider nichts passendes gefunden. Im Prinzip wäre es in erster Linie interessant wie man mit JavaScript auf eine VIEW zugreifen - und dessen Inhalt auslesen kann.
umi:
--- Zitat ---Ich würde nun sehr gern wissen wie man auf den eingegegebenen Nachrichten-Text (also auf die VIEW über 'xmlHttp.open('GET', url , true) mittels XMLHttpRequest zugreifen kann?
Und natürlich andersherum, wie man mittels 'POST' Text in der VIEW ablegen kann...
Die Funktion zum Auslesen sieht folgendermaßen aus:
--- Ende Zitat ---
Schau mal unter http://www.codestore.net da hats ein paar beispiele zu AJAX.
Je nachdem wo Du das Script eingefügt hast kannst Du auf den Webdbname zugreifen.
Ich für meinen Teil habe meistens im Form ein Feld "Webdbname", Computed for display mit Formel @Webdbname. Auf dieses kann ich dann von JS aus zugreifen.
Allgemein kannst Du über die NotesURL's auf NotesObjekte zugreifen. Hast Du ja schon rausgefunden, z.B. via ReadViewentries kriegst Du die XML von ner Ansicht.
Alternativ kannst Du z.B. via ?OpenAgent einen Agenten auf dem Server ausführen. Die Rückgabewere vom Agent ( Print Statements im Agent) kannst Du dann via Xmlhttp.responseText auslesen.
Um Daten in eine View zu schreiben, musst Du ein Notesdokument erzeugen.
flaite:
Du solltest debug-Techniken entwickeln, mit der du die URL an dieser Stelle
->
--- Code: ---var url = '/' + $('WebDBName_').value + '/Messages?ReadViewEntries';
-> HIER
xmlHttp.open('GET', url , true);
--- Ende Code ---
rausschreiben kannst.
Das ist mittlerweile machbar. In codestore werden hierzu auch immer gute Tools genannt.
Ajax hat eigentlich überhaupt nichts mit php, Domino oder sonstwie zu tun. Es ist lediglich eine Browsertechnik, mit der in moderneren Browsern Teile der Seite asynchron nachgeladen werden können und in den DOM-Baum der Webseite eingehängt werden können (zumindest verstehe ich es so). Die nachgeladenen Daten werden in Form von xml, JSON oder geheimes_Rezept (Charles vom DrunkAndRetired-podcast) übermittelt.
Ich fänds aber auch gut, wenn hier mal jemand versucht, sich dem Thema per mini Tutorial oder sonstwie anzunähern.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln