Domino 9 und frühere Versionen > ND7: Entwicklung
AJAX in Lotus Notes : VIEW auslesen
animate:
--- Zitat von: chili am 26.04.06 - 10:25:27 ---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.
--- Ende Zitat ---
Das einzige Javascript, das du brauchst, ist das XmlHttpRequest-Objekt.
Mit ihm schickst du Anfragen an den Webserver, empfängst die Antworten und aktualisierst damit deine Seite (den DOM-Baum, den Axel schon genannt hat).
Welche Möglichkeiten es gibt, Anfragen an den Dominoserver über URLs zu schicken, steht hier.
chili:
Hallo! Schonmal danke für die Ratschläge, haben mir schon gut weitergeholfen :-)
Ich zeig Euch ambesten mal ein paar Quelltext-Ausschnitte. Meine Vorgehensweise:
(1) Form erstellt in der ich div-tags definiert habe. Im div 'content' soll der Inhalt der Datenbank über die VIEW angezeigt werden
(2) Die VIEW Messages enthält die Spalte Message
(3) abfrage.js:
--- Code: --- window.onload=function() {
var url = '/' + $('WebDBName_').value + '/Messages?ReadViewEntries';
callServer('GET', url, true, 0, createCallFunctionWithXMLHandler('getMessage'));
} // Wie umi bereits gesagt erhalt man damit eine XML der Ansicht
--- Ende Code ---
(4) ajax.js
Funktion wird zurückgegeben, die als statusOKHandler aufgerufen werden kann, und eine Funktion mit der Request-Rückgabe (XML) aufruft.
--- Code: ---function createCallFunctionWithXMLHandler(functionName) {
// übergebene Parameter prüfen
if (!pruefeParameter(functionName, 'Der Parameter "functionName" muss übergeben werden.')) return undefined;
// erzeuge neue Funktion und gib sie zurück
return new Function('request', functionName + '(request.responseXML);');
}
--- Ende Code ---
(5) abfrage.js
Wie muss nun die Funktion 'getmessage' aussehen mit der ich den Inhalt der VIEW in dem div anzeigen kann ???
Habt ihr eine Idee?
Wenn mich nicht alles täuchst ist auch die Zeile
var url = '/' + $('WebDBName_').value + '/Messages?ReadViewEntries';
noch nicht vollständig... :-[
bekomme immer einer Debug Fehler das kein Objekt übergeben wurde...
gruß, Mathias
flaite:
$('WebDBName_')
sieht nach Prototype Library aus?
Hast du die eingebunden?
Hier sind eine Menge Beispiele:
http://www.rhs.com/poweroftheschwartz/htdocs/lotusdominoajax.htm
chili:
@ Axel Jannssen:
eingebunden habe ich die $('WebDBName_') nicht. Bin davon ausgegangen, dass es auch so funktionieren muss.
Kannst du mir bitte sagen an welcher Stelle und wie man dies einbinden muss?
Ich habe die URL mal eingegeben und erhalte eine XML ausgabe des Dokuments. D.h. der Zugriff auf die Datenbank über die VIEW funktioniert.
Jetzt muss im Prinzip nur noch das XML geparst werden damit ich dies im div ausgegeben kann...
flaite:
--- Zitat von: chili am 27.04.06 - 15:55:00 ---eingebunden habe ich die $('WebDBName_') nicht. Bin davon ausgegangen, dass es auch so funktionieren muss.
--- Ende Zitat ---
Afaik ist $ keine Funktionalität von JavaScript sondern höchstwahrscheinlich eine Funktion der sehr beliebten js-Bibliothek prototype:
http://www.sitepoint.com/article/painless-javascript-prototype
--- Zitat von: chili am 27.04.06 - 15:55:00 ---Ich habe die URL mal eingegeben und erhalte eine XML ausgabe des Dokuments.
--- Ende Zitat ---
Das ist gut.
--- Zitat ---D.h. der Zugriff
auf die Datenbank über die VIEW funktioniert.
--- Ende Zitat ---
Heisst aber nicht, dass die Variable url den von dir erwarteten Wert hat:
--- Code: ---
var url = '/' + $('WebDBName_').value + '/Messages?ReadViewEntries';
alert ("url=" + url)
--- Ende Code ---
--- Zitat ---Jetzt muss im Prinzip nur noch das XML geparst werden damit ich dies im div ausgegeben kann...
--- Ende Zitat ---
... falls url den von dir erwarteten Wert hat.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln