【问题标题】:How to print a variable from js file in console?如何在控制台中从 js 文件中打印变量?
【发布时间】:2019-04-11 04:27:57
【问题描述】:

我是 js 新手,并开始将它与 rails 一起使用。我想检查传递了哪些变量值。我在互联网上查看,发现我们必须在 firefox 中使用 console.log(var_name);' and it gets displayed in console window inbrowser window` (ctrl + shift + j)。但是当检查时,什么都没有显示。以下是我的代码:

customer.js.erb file

控制台.log(@customer);

但是上面没有在控制台中显示任何内容。

语法正确吗?并且输出要显示在browser window/console 或其他地方?

【问题讨论】:

  • 你能不能给你的代码穿鞋?

标签: javascript ruby-on-rails jconsole


【解决方案1】:

console.log(...) 看起来像 JavaScript。 @customer 看起来像 Ruby。您不能在 JavaScript 中打印 Ruby 变量——它们在不同的时间、不同的环境中执行。如果您使用的是 EJS 文件(不是 JS),那么您可以这样做

console.log(<%= @customer.to_json %>)

这将在提供 JS 文件时插入 Ruby 的 @customer 的值;但这很可能不是您想要的。在几乎所有情况下,您都希望在 HTML 中渲染一个 Ruby 变量,或者通过使用 AJAX 请求将服务器变量的值传递给 JavaScript 代码,或者像这样在 HTML 中渲染它:

<script>
  var customer = <%= @customer.to_json %>;
</script>

【讨论】:

    【解决方案2】:

    正确的方法是这样的,

    console.log("#{@customer.name}")
    

    您需要在 '' 或 "" 中插入 ruby​​ 代码

    【讨论】:

    • 我更新了它,然后签入了 browser_console。但是再次没有任何显示
    • 奇怪..它应该可以工作你能显示你的代码吗?
    • 我还没有写任何代码..只是尝试学习如何输出变量。所以只是添加了 console.log();
    • 您是如何在浏览器的控制台中检查的?如果有任何内容,请擦除控制台过滤框中的文本。
    • 我通过'ctrl + shift + j'打开浏览器控制台,然后在'JS'窗口下检查
    猜你喜欢
    • 2014-08-22
    • 2011-02-14
    • 1970-01-01
    • 2017-06-03
    • 2018-11-24
    • 2016-01-20
    • 2021-03-17
    • 1970-01-01
    • 2021-08-26
    相关资源
    最近更新 更多