2011-07-07 38 views
1

我想知道如何通過rails helper上的ruby運行異步的ajax請求。 更具體,我需要調用remote_function在紅寶石助手中異步的Ajax

remote_function :url => { :action => "draw_graph" }, :after => "do_something_after_ajax_is_done()" } 

do_something_after_ajax_is_done()是AJAX請求正在運行時執行,它搞砸了我的計劃。

我想過使用:async => false or :asynchronous => false選項,但它似乎並沒有工作。你能幫我解釋一下這個語法嗎?或者告訴我我的做法有什麼問題。

是否remote_function甚至採取異步選項的選項?

回答

2

我想你想:完整

remote_function :url => { :action => "draw_graph" }, :complete => "do_something_after_ajax_is_done();" 

Ajax請求返回時,這將運行。如果你只想運行,如果它成功,使用:成功

remote_function :url => { :action => "draw_graph" }, :success => "do_something_after_ajax_is_done();" 
+0

你馬特,是我的上帝。我花了2天的時間,最終得到了一個非常髒的「setTimeout」。順便說一下,你知道在哪裏可以找到一個RoR助手的完整指南,官方API s * cks(它沒有提及:完整的選項例子) – sebastien

+0

顯然:asynchronous => false只是不是一個選項?奇怪的。 – rogerdpack