2011-04-09 28 views
0

我可能錯過了一些明顯的東西,但我是來自jQuery的Prototype的新手。我有一個使用link_to和remote => true創建的鏈接,輸出一個正在工作的AJAX鏈接。如何捕獲ajax:success事件處理程序的響應文本?

這裏是JS,我有:

Event.observe(window, 'load', function() { 
    $$('.checkoff-link').each(function(element) { 
     element.observe('ajax:success', successfulCheckOff); 
    }); 
}); 

// when they tick it off, check it off 
function successfulCheckOff(e) { 
    // shrink and strike out the text 
    var element = e.element(); 
    var label = $(getLabelIdFromLinkId(element.id)); 

    label.addClassName('strikeout'); 
} 

如何獲取Ajax請求的responseText的?我試圖在成功時從控制器傳回數據,但我不知道如何在JS層捕獲數據。

回答

1

我想通了這一點用這個方便的教程: https://github.com/rails/prototype-ujs

從本質上講,所有的響應信息存儲在event.memo,所以你可以使用這樣的代碼:

var response = e.memo; 

然後,爲了訪問你需要的一切。

你可以使用responseText的方法得到響應的HTML /文本/ JSON:

var html_return = e.memo.responseText; 
相關問題