Jeg går ud fra du vil lave en POST. (GET kan også laves) På Domino laves et design element, som rammes af denne POST (Agent eller Formular/Web Queary Save-agent). Under afvilkingen af agenten vil data sendt med POST være tilgængelige som CGI-variable (Request_Content). Disse data behandles og vises enten med den formular der blev kaldt eller via en anden formular (redirection).
lidt om Request_Content: Request_Content is a string of name-value pairs representing HTML fields on your HTML form, formated like so: name1=value1&name2=value2&name3=value3 (etc.)
Følgende er skrevet fra hånden og ikke testet: Under afvilkingen af agenten fås tilgang til data via dim session as new NotesSession dim submitteddoc as NotesDocument set submitteddoc = session.DocumentContext dim data as string data = submitteddoc.Request_Content(0)
Data kan herefter parses og overføres til formular-felter (hvis det var Formular/Agent der blev postet til). Derefter skal der redirectes til det oprettede dokument.
Hvis det var en agent alene der blev kaldt skal data gemmes i et (eller flere hvis det ønskes) dokumenter, som der bagefter redirectes til.
Det virker måske lidt forvirrende, men det er jo trods alt en database vi har med at gøre. //Jörg
yeps, bamzens metode er en GET variant. For at kalde en Domino formular skal du adressere den som //server/dabasesti/database.nsf/FORMULARNAVN?OpenForm&data1=data&data2=data&data3=etc... Sikkerheden er et kapitel for sig (Fælles for POST og GET). Rettighederene til databasen skal umiddelbart sættes for "Anonymous" til Author/create documents for at du ikke får problemer ved gemning.
Dvs du laver et link der requester en url lignende ovenstående
I agenten tager du fat i Context dokumentet, herpå findes mirakuløst feltet "Query_String_Decoded" som bamzen omtaler. Lav lidt streng behandling på indholdet af dette felt - nemmest vha. evaluate(@word.. alternativt via en @word lignende funktion skrevet i script.
Gem herefter de modtagne værdier i de rigtige felter og lav et svar dokument som du kan "sende" tilbage til brugeren. Sidstnævnte kan enten være et dokument i Notes databasen, alternativt kan du lave det i ren HTML. Eller måske endda en parameteroverførsel tilbage til den oprindelige server via en url.
Jeg har (desværre) aldrig helt forstået det der med POST og GET; men ved at sender dine (få) værdier via en url, tror jeg heller ikke du behøver at bekymrer dig om dette.
-> pr0gm4n: Det du beskriver er GET (beder om at få de specificerede data tilsendt). Hvis man har en formular med redigerbare felter på skærmen og trykker [Submit] skal der være en <Form>-tag i HTML. Indeni denne tag er der angivet en target for disse data (f.eks. <form method="post" action="//server/sti/db.nsf/view/docunid?EditDocument&Seq=1" name="FORMNAME"> )
Problemet med GET er at der er en maks-grænse for hvor mange data man kan overføre via URL. Denne begrænsning findes (så vidt jeg ved) ikke ved POST.
-> computopic: pr0gm4n's måde er en meget nem måde at gøre det på. En agent i Domino kan næsten opfattes som et kald til et ASP-script på IIS. Men ved at koble det sammen med en formular har du omgående en præsentationsmetode for dine data klar.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.