在我的Zope實例中,我有一個註冊爲瀏覽器頁面的Python腳本。我有以下的代碼作爲其註冊地:將參數傳遞給Zope瀏覽器頁面
<browser:page name="test" for="*" permission="zope2.Public" class="browser.test.PyTest" attribute="CallPy" />
此功能, 「PyTest.CallPy」 被定義爲:
def CallPy(self, data): ...
然後我用JavaScript來調用函數,傳遞數據在:
$.ajax({ url: "@@test", data: ({data: "mydata"}), dataType: "text", success: ..., error: ... });
然而,當我撥打這個電話,我得到一個錯誤,指出「CallPy()只需要2個參數(給出1)」。
如何將此函數註冊爲在調用該數據時傳入此數據的頁面?
括號在JavaScript代碼中,在這種情況下沒有任何區別。 Zope將解組請求參數並將它們與方法簽名匹配,所以如果所有設置都正確,CallPy應該從GET請求中傳遞'data'參數。 – 2011-06-06 14:58:42
另外,在Python腳本中,您可以像訪問任何其他字典一樣訪問發送的數據:'self.request.form ['data']' – lightningmanic 2011-06-06 17:03:20