Hi,
ich bin mir nicht sicher ob das Thema besser hier oder bei Zope/Plone passt..
Anyway,
Ich will von einer HTML page per AJAX request (oder wie auch immer) ein request an eine External Method (Zope) schicken.
In dieser External Method will ich dann die Parameter des Requests auslesen.. wie geht das?
Schicken und eine Antwort geben klappt schon ganz gut, nur kann ich die Parameter nicht verarbeiten.
Bin für jede Hilfe dankbar.
External Method Parameterübergabe
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo grandma!grandma hat geschrieben:In dieser External Method will ich dann die Parameter des Requests auslesen.. wie geht das?
Willkommen im Python-Forum!
Ja, das geht. Du musst deine Externe Methode mit dem Parameter "self" versehen. Schon hast du in "self" das komplette "context"-Objekt.
Ich kann es jetzt nicht ausprobieren. Lass dir einfach mal in der Externen Methode mit ``return dir(self)`` und ``return dir(self.REQUEST)`` ausgeben, was du angeliefert bekommst.
...
Ich habe es jetzt ausprobiert. ``self.REQUEST`` ist eindeutig der Request. Inklusive aller übergebenen Daten.
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
def hallo(self):
return self.REQUEST.items()
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Jetzt hab ich aber das Problem das er den Parameter mit self.REQUEST.get('parametername') nicht auslesen kann.
Die Funktion gibt None zurück
Hab versucht per get und post zu schicken sowohl ajax als auch normal.
Der Parameter steht auch im REQUEST objekt drinnen, nur wie kann ich das jetzt einfach auslesen? (notfalls parse ich den dir(REQUEST) string...)
Gibts irgendwo ne Docu zu dem Request objekt? find da nix..
Die Funktion gibt None zurück
Hab versucht per get und post zu schicken sowohl ajax als auch normal.
Der Parameter steht auch im REQUEST objekt drinnen, nur wie kann ich das jetzt einfach auslesen? (notfalls parse ich den dir(REQUEST) string...)
Gibts irgendwo ne Docu zu dem Request objekt? find da nix..
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo grandma!grandma hat geschrieben:Jetzt hab ich aber das Problem das er den Parameter mit self.REQUEST.get('parametername') nicht auslesen kann. Die Funktion gibt None zurück
Der Fehler muss wo anders liegen.
Code: Alles auswählen
def hallo(self):
return "Vorname: ", self.REQUEST.get("vorname", "<>")
aufrufe, dann zeigt es mir den Vornamen im Browser an. Ob ich das mit POST, GET oder über XMLRPC aufrufe sollte da jetzt keinen Unterschied machen.
mfg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Danke, ist gelöst jetzt.
Ich dachte ich spinne, das mit der URL ging, das Requestobjekt sah genauso aus wie bei der AJAX-Request.
Der Fehler lag daran das ich beim übergeben "test2 = 5" geschrieben hab und nicht "test2=5" so das er gedacht hat die variable test2 hat noch ein leerzeichen hintendran.
Ich dachte ich spinne, das mit der URL ging, das Requestobjekt sah genauso aus wie bei der AJAX-Request.
Der Fehler lag daran das ich beim übergeben "test2 = 5" geschrieben hab und nicht "test2=5" so das er gedacht hat die variable test2 hat noch ein leerzeichen hintendran.