2017-04-11 83 views
0

我正在做這個簡單的ajax調用在我的Rails應用程序中,像這樣。渲染js.erb輸出原始javascript代碼

<%= 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原始內容。我不明白我在這裏做錯了什麼。

+0

嘗試僅放置alert(「working !!!」);',它不需要'$(document).ready(function()'函數。 – Emu

+0

@asdfkjasdfjk嘗試在URL中放入純路徑。例如url:「users/get_details」 – Vishal

+0

在嘗試了幾件事情之後,現在相同的代碼正在工作,可能是緩存問題或其他問題,但是突然出現相同的代碼開始工作 – asdfkjasdfjk

回答

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得到了什麼數據。

希望它有幫助。