2014-01-20 39 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内容没有改变。