javascript - 渲染 JS.ERB 结果为原始代码

标签 javascript jquery ruby-on-rails

当 AJAX 请求执行时,show.js.erb 呈现部分 _article.haml

我希望能够在 show.js.erb 中编写:

<%= j render  'article' %>

由于它有一个 .js 扩展名,我需要将其包装在 JavaScript 中(上面的示例不会渲染部分),因此:

'<%= j render  'article' %>' OR ('<%= j render  'article' %>');

这将渲染部分但带有 原始代码——包括 HTML 和 JS 转义。

('things will go back to \"normal.\"<\/p>\n\n');

正确的做法是什么?

welcome#index:

.ajax_load.article-content{ data: { 'remote-url' => article_path(@article) } }

articles.js:

 $(document).ready(function() {
  $('.ajax_load').each(function(index, element) {
    var url = $(element).data('remote-url')
    if (url) {
      $.get(url, function(responseText) {
        $(element).html(responseText);
      })
    } else {
      console.log("missing url for ajax!")
    }
  })
})

最佳答案

这个答案属于@MrYoshiji。

Ajax :

  $(document).ready(function() {
      $('.ajax_load').each(function(index, element) {
        var url = $(element).data('remote-url')
        if (url) {
          $.get(url, function(responseText) {
            $(element).html(responseText);
          }, 'html' )
        } else {
          console.log("missing url for ajax!")
        }
      })
  })

articles_conroller直接渲染_article部分:

def show
    #respond to JS
    respond_to do |format|
        format.js { render :partial => "article" } 
    end
end

welcome#index:

 .ajax_load.article-content{ data: { 'remote-url' => article_path(@article) } }

关于javascript - 渲染 JS.ERB 结果为原始代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36178135/

相关文章:

javascript - 如何向 jQuery 函数添加延迟

javascript - 当用户向下滚动时如何使向下箭头消失?

ruby-on-rails - 循环技巧 - 如何显示一个属性,如果...?

javascript - 如何使用变量 : Javascript 访问字典值

javascript - Express Node.js 路由问题

javascript - 将二维数组从 javascript 传递到 php 但大小减小

jquery - 如何为我的居中日期选择器添加插件

javascript - 尝试将 kml 图层添加到谷歌地图

mysql - 如果字段长度小于 10 个符号,则 SQL 通过不带 %% 的 like 进行搜索

ruby-on-rails - rails "secret_token"对 config.session_store( :cache_store)?) 仍然很重要