我想确保javascript变量在将其设置为ruby变量时获取传递给它的正确值。
<script type="text/javascript" charset="utf-8">
var test = <%= @test || 'null' %>;
document.write(test);
</script>
然而,似乎没有任何输出。我只试过document.write("somethinganything")
而我仍然没有看到任何输出。它应该出现在网页或终端上吗?我两个都找不到任何东西。
答案 0 :(得分:6)
document.write
打印到网页。您应该尝试使用console.log
打印到终端。
答案 1 :(得分:3)
除非脚本块位于document.write()
,否则不应使用<body>
打印可见内容。
某些较旧的浏览器不支持此功能,如果脚本块位于<head>
中,则不会写入任何可见的内容。
请尝试使用以下解决方案之一:
// Append a text node to the end of your body
window.onload = function() {
var txt = document.createTextNode(test);
document.body.appendChild(txt);
};
或
// Log the text to your javascript console
console.log(test);
或
// Alert the text in a popup
window.alert(test);
答案 2 :(得分:1)
你必须写console.log("test");