【问题标题】:Rails - update flash using an ajax post actionRails - 使用 ajax 发布操作更新 flash
【发布时间】:2014-01-20 18:06:29
【问题描述】:

我有一个调用 javascript 文件的操作,该文件包含像这样的 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[:success],我想在成功函数中获取它,以便将其传递给渲染。

我已经尝试过 flash.now[:sucess],但没有。似乎只有在调用此 javascript 文件的操作中写入 flash 哈希时才能执行此操作 - 但我不希望这样做,因为“some_action”会生成动态内容。

这有可能吗?

感谢您的帮助!

【问题讨论】:

    标签: ruby-on-rails ajax jquery ruby-on-rails-4


    【解决方案1】:

    你可以发送js请求而不是json请求。

    然后在你的“some_action.js.haml”文件中你可以写

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

    这里发生的事情是您的 javascript 文件没有被刷新,因此 html 的内容没有改变。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-08
      • 2020-01-26
      • 2017-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多