2009-11-16 82 views
-1

好吧,這是更一般的技術/方法問題。Ajax-ish更新一個畫布元素

我們有一個非常簡單的網絡「應用程序」,它基本上只是一個畫布元素。我們使用javascript在畫布上繪製一個'奇特的UI'。我們註冊一個mouseclick事件,獲取座標,然後嘗試找出他們點擊的小部件。

我的問題是,什麼技術或框架最適合以AJAX的方式做到這一點?我想要頁面呈現,然後用戶點擊畫布上的某處,然後我們將該座標傳遞迴某些服務器端代碼(PHP或Ruby),這些代碼將運行一些邏輯,更新數據庫等,然後返回與JavaScript的繪製方法的新數據,有效地更新基於用戶選擇的用戶界面,所有與最低限度的閃爍和刷新(雖然帆布可以在IFRAME)

這是最簡單的方法是什麼?我看了一下Rails,但看起來好像過度。我只想回傳點擊座標,運行一些服務器端代碼,並返回一個新的文本塊來傳遞我的JavaScript Draw函數(在畫布元素上繪製的函數)

編輯:好的,更確切地說,我基本上是問最簡單的方法,通過AJAX發回簡單的字符串數據(意味着沒有整頁刷新),並接收一個字符串返回值,並用該返回值更新canvas標籤。我沒有要求代碼或示例(雖然我不會抱怨)我只是想要使用最簡單的技術 - jQuery,Prototype,Rails,JSON和XML等。後端是所有PHP或Ruby,所以我不需要幫助,只需要AJAX-> Canvas部分。

回答

2

嗯,我建議阿賈克斯。它的非常Ajax-ish。

好的,讓我詳細說明 - 最後一行不是很有幫助,但也不是問題。使用JQuery/Prototype使用從canvas元素收集的座標和其他信息向您的服務發出ajax請求。根據原始輸入的內容採取響應更新畫布。

你的問題是非特定的......你引用「AJAX-ish排序方式」......好吧,這可能意味着很多東西。對我來說,爲什麼去那些ajax樣,當你有真正的交易ajax

「什麼是最簡單的方法呢? 我看了一點點在Rails的,但它 似乎有點小題大做。我要的是 傳回的點擊座標,運行 一些服務器端代碼和背部 用一個新的文本塊來傳遞我的 的JavaScript函數畫(即 繪製在畫布元素上的一個)」

是啊。我們仍在談論Ajax。

如果你願意,可以投我一票,但更好 - 澄清你的問題,讓我們知道你是在談論如何實現傳遞數據回來和第四,或者你是否在尋找可愛的UI 效果。 。

+0

好了,你的答案是JQuery的/原型。這比諷刺更好。此外,我沒有投票給你,但我會投票支持jQuery的建議。 – LoveMeSomeCode 2009-11-16 21:13:27

+0

它的來回傳遞,即時通訊感興趣的數據。我可以處理所有的服務器端代碼,對數據庫等的更新,我還罰款與JavaScript中的實際繪圖代碼,我有服務器端代碼即時生產。我真的只是想知道一個簡單的方法來異步調用背部採用了串變種,得到一個字符串VAR響應,並更新頁面的部分。 – LoveMeSomeCode 2009-11-16 22:36:21

2

如果你只想做一些計算,爲什麼不在javascript中呢?

如果您需要持久性,或者正在進行密集型計算,那麼以下任何一種都可以。

易於部署框架:(也就是說,框架,有很多文檔和教程可用的並且都寫在什麼通常被認爲是容易腳本語言) *

CodeIgniter | CakePHP | Zend

Django


更難部署構架: * (也就是說,具有較少的可用文檔(和有限的教程),或寫在更加困難的語言框架[即,語言中通常使用更困難範例])

Multiple Lisp Frameworks

C++ Frameworks

Multiple Perl Frameworks

More Java Frameworks than you could ever have time to use

我建議他們讀了起來,檢查的例子,並選擇似乎最直觀的一個。寫的東西,你想實現一個或兩個例子,如果它似乎仍然直覺(或支持和教程可以很容易),然後用它來實現整個項目。


*請注意,這種劃分是完全主觀的。