2010-09-22 72 views
0

我正在使用Coldfusion中的頁面,並且在該頁面上實例化了一個對象。我們稱之爲對象myobject。我可以訪問該頁面上該對象的所有方法(如myobject.getName())以及作爲頁面流的一部分包含的所有頁面。如何通過ajax引用coldfusion對象

但現在我通過ajax加載頁面,我希望能夠引用相同的對象,但似乎我不能這樣做。此外,在這個ajax加載的頁面上,我想遠程調用一些屬於此對象的方法。我可以遠程調用方法本身,但是,如果這些方法使用例如this.getName()調用其他對象方法,那麼事情就不起作用。

有沒有一種方法可以在ajax加載的頁面中引用先前創建的對象,以便所有這些都可以無縫工作?

(我想過在一個會話變量封裝對象這樣做,而這可能會工作,但我更願意找到一個解決方案,可以在多服務器環境中工作。)

我我正在使用Railo,我相信它支持CF8功能。我沒有使用任何面向對象的框架,並且真的不能用於這個項目。

+0

對不起,但你的問題很混亂。你看過標籤嗎?它有助於你在做什麼? – Henry 2010-09-22 19:35:40

+0

我確實開始研究這個標籤,但我不確定它是否滿足我的需求(很可能,我只是沒有時間來搗鼓它)。 – Gary 2010-09-23 14:23:46

+0

我會嘗試並重申這個問題:當我創建一個對象時,該對象可以被包含在整個文檔流中的任何CF頁面訪問。但是當我通過ajax調用一個頁面時,這個新頁面似乎無法引用我創建的對象。看來我需要手動傳遞特定於對象的參數。我希望ajax加載的頁面能夠引用先前實例化的對象。感謝您的迴應。 :) – Gary 2010-09-23 14:26:07

回答

1

您無法引用從ajax在頁面上實例化的對象。您實例化的組件是serverside。你的ajax是客戶端。

cfajaxproxy將爲您的組件創建一個JavaScript代理,以便您可以直接從JavaScript調用組件上的方法。

您也可以使用ajax函數從javascript調用您的組件作爲遠程對象或web服務。