2011-06-23 21 views
5

我正在使用Ruby on Rails 3.0.7和jQuery 1.6.1,我想知道如何在AJAX請求後處理響應xhrstatusex變量。如何使用jQuery AJAX請求和Ruby on Rails的「渲染」方法來減少?

Ajax請求是:

$jQuery.ajax({ 
    type: "POST", 
    url:  "<request_to_the_controller_method>", // see the code below 
    error: function(xhr, status, ex) { 
    // handling with 'xhr', 'status' and 'ex' variables 
    } 
    success: function(jqXHR, status, ex) { 
    // handling with 'xhr', 'status' and 'ex' variables 
    } 
}); 

在控制器中,我有:

respond_to do |format| 
    format.js { 
    render ... # here should be properly stated the Ruby on Rails 'render' method 
    :status => 200 
    } 
end 

應該如何在控制器中的render方法,以便它是AJAX請求作出迴應予以說明可能處理AJAX請求的errorsuccess部分中的響應值(xhrstatusex變量)?那麼,在我檢索這些值後(例如在警報消息中顯示這些值),如何處理響應值?

在很少的世界裏,我想要做的是(在控制器中)用一些數據響應AJAX請求,然後(在另一端)處理這些數據。

回答

3

How do you handle Rail's flash with Ajax requests?

Error Handling with Ajax in Rails 3

以及瞭解詳情。下面是an excellent article在軌道上的話題,Rails的jQuery的UJS驅動程序,jQuery和rails.js

  1. 它找到遠程鏈接,表單和輸入,並覆蓋它們的點擊事件通過AJAX提交到服務器。
  2. 它觸發了六個JavaScript事件,您可以將回調綁定到該事件,以處理和操作AJAX響應。

然後文章走過如何做到這一點的所有使用jQuery UJS和護欄。