渲染js.erb输出原始javascript代码

时间:2017-04-11 06:45:46

标签: javascript jquery ruby-on-rails ajax

我正在我的rails应用程序中执行这个简单的ajax调用。

<%= link_to 'test_js', '#', class: "ajax_call"  %>

<script type="text/javascript">
  $(".ajax_call").on("click", function () {
   $.ajax({
          url: "<%= users_get_details_path %>",
          dataType: 'script',
          type: 'GET'
        });
  })
</script>

我的控制器操作如下所示

def get_details
    respond_to do |format|
      format.js {}
    end
  end

get_details.js.erb

$(document).ready(function () {
console.log('working!!!');
alert("working!!!");
});

这不会在控制台中提供任何警报或文本或任何错误,而是在dom控制台中输出整个js.erb原始内容。我不明白我在这里做错了什么。

1 个答案:

答案 0 :(得分:0)

如果您想在完成ajax请求时获得控制台日志或警报,您可以执行以下操作:

<%= link_to 'test_js', '#', class: "ajax_call"  %>
<script type="text/javascript">
    $(".ajax_call").on("click", function () {
       $.ajax({
          url: "<%= users_get_details_path %>",
          dataType: 'script',
          type: 'GET',
          success: function(data){
             console.log('working!!!');
             alert("working!!!");
             console.log(data);
          }
       });
  })
</script>

我添加console.log(data)来记录您从users_get_details_path获得的数据。

希望它有所帮助。