Autor Thema: Problem mit Ajax  (Gelesen 10628 mal)

Offline CLI_Andreas_Schmidt

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 668
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
    • Lotus Notes & Domino Schulung und Entwicklung
Problem mit Ajax
« am: 22.03.07 - 11:09:59 »
Hi @all,

Vielleicht hat schon jemand damit Erfahrung.

Folgender Code:

Im der Rückgabe "myvar" wird zudem NEIN auch noch HTML Code geliefert. Kann man sich durch eine andere Abfrageweise (an statt myvar = xmlhttp.responseText;) sich direkt das NEIN holen ?

Gruss






var xmlhttp=false;
var myvar;

if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
xmlhttp = new XMLHttpRequest();
}

function validate()
{
returnvalue = true;

xmlhttp.open("Get", "http://Server//Anwendungen.nsf/validate?OpenAgent");

xmlhttp.onreadystatechange = function()

{

if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{

myvar = xmlhttp.responseText;

if(myvar=="<html><head></head><body text=\"#000000\">nein</body></html>")
{
alert(myvar);
returnvalue = false;
return returnvalue;

}
}
}
xmlhttp.send(null);
}

validate();
Viele Grüße

Andreas.Schmidt@lotus-schmidt.de

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Problem mit Ajax
« Antwort #1 am: 22.03.07 - 11:31:01 »
hat ich diese Woche auch so ähnlich. Versuch mal als erstes print statements im Agenten "validate" der Anwendung Anwendungen.nsf das folgende statement:
Code
Print "Content-type:text/plain"
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline CLI_Andreas_Schmidt

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 668
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
    • Lotus Notes & Domino Schulung und Entwicklung
Re: Problem mit Ajax
« Antwort #2 am: 22.03.07 - 11:45:47 »
Läuft !!! : )

super. DANKE.
Viele Grüße

Andreas.Schmidt@lotus-schmidt.de

Offline CLI_Andreas_Schmidt

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 668
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
    • Lotus Notes & Domino Schulung und Entwicklung
Re: Problem mit Ajax
« Antwort #3 am: 22.03.07 - 12:35:14 »
Da stellt sich noch eine Frage.

Ich habe jetzt über die URL --> xmlhttp.open("Get", "http://server/db.nsf/validate?OpenAgent"); den Agenten gestartet. Der liefert mir auch einiges zurück. Ich würde jetzt gerne das geöffnetet (im Web) Dokument an das Backend übergeben. Kann ich das ohne Save ?

Frage also: Wie kann ich dem Agenten Werte (Felder aus dem Webformular) mitgeben, um diese dann im Agenten weiterzuverarbeiten und eine Rückgabe zu berechnen.

Gibt es im geöffnetem Browserfenster an das document.context ranzukommen ?
Viele Grüße

Andreas.Schmidt@lotus-schmidt.de

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Problem mit Ajax
« Antwort #4 am: 22.03.07 - 19:01:23 »
Wo willst du das denn reinspeichern.
In das gleiche  selbe  ??? Dokument, das du im Frontend geöffnet hast  ???
Du kannst im Prinzip im Agenten ja allemöglichen Save Operationen durchführen, bloss bei geöffneten Dokumenten wäre ich vorsichtig. Dann kannst du es ja direkt auch über Javascript im Frontend machen. Ich glaub das geht nicht.
An die Docunid kommst du schon dran: Einfach ein z.B. per css-property verstecktes Feld @text(@UniversalId));
Aber wie gesagt: Du kannst nicht in das selbe Dokument von 2 Stellen gleichzeitig reinschreiben.

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Re: Problem mit Ajax
« Antwort #5 am: 23.03.07 - 01:47:09 »
Hallo Andreas,

wenn man anfängt, AJAX auf Domino anzuwenden,
denkt man zuerst immer an ?openAgent. Eigentlich logisch.

Der clevere(re) Weg, den die wenigen wirklichen Notes Gurus auf Ihren Seiten vorschlagen,
und den ich dort auch erst gefunden habe,
ist aber, AJAX auf eine Page abzusetzen !

Eine Page kann die Option "Inhaltstyp" -> "HTML", oder "Anderer" haben
und somit spart man sich das Geraffel, dass ein Domino-Agent immer das HTML... usw
automatisch mitbringt.

Eine Page tut das nicht und ist vollkommen frei und genial,
genau dass zurückzugeben, was DEINE AJAX braucht bzw. erwartet,
über computed text, für alles wofür  @Formula reicht.

Analog über eine Maske, da hast Du sogar noch den WQO-Agenten, der LScript kann ,
und eine Ausgabe ohne das sehr schwer vermeidbare Agenten HTML-Gedöns.

Und das AJAX unbedingt XML braucht, ist auch mehr Theorie,
praktisch reicht in den meisten  Fällen zeilengetrennter Plain Text völlig aus.


Auch wenn ich mich wiederhole,
aber AJAX und Domino, "die lieben sich",
das paßt echt gut.

Gruß
Uwe
« Letzte Änderung: 23.03.07 - 01:50:34 von datenbanken24 »

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Problem mit Ajax
« Antwort #6 am: 23.03.07 - 06:41:51 »
Hallo Uwe,

hast du das mal in einem Agenten ausprobiert?
Code
Print "Content-type:text/plain"
Genau damit wird nämlich das html Giraffel auch nicht geschickt  ;D

Zitat
praktisch reicht in den meisten  Fällen zeilengetrennter Plain Text völlig aus.
Oder Json, die Objektnotation von JavaScript
Code
// von Head Rush Ajax Buch
{ "totals": [
{"location":"Vail", "boardsSold":642, "bootsSold":45, "bindingsSold:"},
{"location":"Santa Fe", "boardsSold":326, "bootsSold":86, "bindingsSold:"32},
{"location":"Bolder", "boardsSold":453, "bootsSold":90, "bindingsSold:"16}
]};
Praktisch die gesamten JavaScript libraries für Ajax arbeiten entweder mit xml oder mit Json. Und die können das ganze JavaScript einfacher und robuster machen. Andreas code oben funktioniert nämlich z.B. nicht mit IE Browsern älter als IE7.

Für offizielle Formate wie Json und xml spricht schon einiges. Wie schnell gerät doch in die Daten irgendwie ein Char$10 und dann entsteht Datensalat? Und die Bedeutung des Formats muß extern dokumentiert werden. Zumindest xml dagegen dokumentiert sich quasi selbst. Praktisch alle vorhandenen Bibliotheken  arbeiten damit (Scriptaculous, Dojo, etc.) und nicht zuletzt erleichtern sie dem normalen Entwickler auch mit JavaScript auf diese Formate zuzugreifen.
Wenn man weiss wie man aus einer Sprache auf xml zugreifen kann, ist es nicht mehr komplex sondern ein Vereinfacher. JavaScript hat von Haus aus keine guten xml-Parser, aber das erledigen dort diese Libraries.   

Gruß Axel

 
« Letzte Änderung: 23.03.07 - 07:02:44 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Problem mit Ajax
« Antwort #7 am: 26.03.07 - 21:31:01 »
Du könntest die UNID als URL Parameter dem Agent übergeben.
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Problem mit Ajax
« Antwort #8 am: 26.03.07 - 23:02:55 »
Falls ich das recht verstanden habe, will Andreas in ein im Frontend geöffnetes Dokument im Backend schreiben.
Das kann nur Chaos geben.
Selbst wenn Notes das erlauben sollte, was passiert, wenn das Dokument im Web-Frontend gespeichert wird?
Ich halte das auch für keinen guten Weg für Validierung fürs Web.
« Letzte Änderung: 26.03.07 - 23:32:39 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz