2014-01-20 47 views
0

我有一個調用它包含一個AJAX方法類似這樣的JavaScript文件的操作更新Flash:導軌 - 使用AJAX後動作

$.ajax({ 
    type: 'POST', 
    url: "<%= some_action(model) %>", 
    dataType: 'json', 
    data: { 'something': true }, 
    success: function(received_data) { 
     // Do something with received_data 
     $('#notice').html("<%= escape_javascript(render 'layouts/flash_messages', flash: flash).html_safe %>"); 
    } 
}); 

的「some_action」試圖把一些信息到閃存[:成功],我想在成功函數中獲得它,以便我可以將它傳遞給渲染器。

我已經試過flash.now [:sucess],但沒有。看起來,如果我從調用此JavaScript文件的動作中寫入閃存散列,則只能這樣做 - 但我不希望這樣做,因爲「some_action」會生成動態內容。

這是可能的嗎?

感謝您的幫助!

回答

1

您可以發送js請求而不是json請求。

,然後在你的「some_action.js.haml」文件,你可以寫

$('#notice').html("<%= escape_javascript(render 'layouts/flash_messages', flash: flash).html_safe %>"); 

這裏發生了什麼是你的JavaScript文件沒有得到更新,因此HTML內容沒有改變。