渲染js.erb输出原始javascript代码
问题描述:
我正在做这个简单的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原始内容。我不明白我在这里做错了什么。
答
如果你想获得控制台日志或警报结束时,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
得到了什么数据。
希望它有帮助。
尝试仅放置alert(“working !!!”);',它不需要'$(document).ready(function()'函数。 – Emu
@asdfkjasdfjk尝试在URL中放入纯路径。例如url:“users/get_details” – Vishal
在尝试了几件事情之后,现在相同的代码正在工作,可能是缓存问题或其他问题,但是突然出现相同的代码开始工作 – asdfkjasdfjk