【问题标题】:Getting value from a console.log to html从 console.log 获取价值到 html
【发布时间】:2016-03-30 22:20:37
【问题描述】:

我编写的函数工作正常,并且值正确写入我的终端 onSubmit,但是我正在努力拼凑为什么这段代码没有更新我的 html。

router.post('/index', function(req, res, next) {

  // ...Get form values, do calculations to get toCost value.

      console.log('$' + toCost);

      $(document).ready(function() {
        var output = document.getElementById('cost');
        output.innerHTML = toCost;
      });

  res.location('/');
  res.redirect('/');
})

我收到以下错误,并且 jquery 加载正常。

$ is not defined

诚然,这是一个过度设计的节点/快速应用程序。代码 sn-p 包含在一个路由文件中,在一个发布请求中。

如何在 html 中获取我的价值?

翡翠布局

extends layout

block content
  form(...)
  div#cost

【问题讨论】:

  • document 在 Node.JS 中准备好了吗?我对 NodeJS 了解不多,但它是正确的吗? NodeJS中没有文档...
  • 这里发生了什么奇怪的事情?实际上可以将 jQuery 导入 Node,但不能像那样使用它,没有 DOM 可以使用,所以这看起来很疯狂?
  • 只要定义了 toCost 就可以正常工作
  • 我想也许res.send(toCost)才是你真正想要的

标签: javascript jquery node.js express


【解决方案1】:

执行此操作的正常方法如下:

router.post('/index', function(req, res) {   <<< 'next' removed (only needed if using middleware)

  // ...Get form values, do calculations to get toCost value.

  console.log('$' + toCost);

  res.render('indexTemplate', {cost: toCost}); <<< pass toCost through to jade as 'cost'
});

然后在 indexTemplate 的玉文件中,您可以引用传入的“成本”变量,如下所示:

indexTemplate.jade:

extends layout

block content
  form(...)
  div#cost #{cost} <<< adds the cost variable to page

那么toCost的值就会出现在结果页面中。

服务器端不需要 jQuery。

【讨论】:

  • 太棒了。这是拼图中缺少的一块,谢谢!是时候花更多时间阅读 express 了。
【解决方案2】:

jQuery 是为 DOM 操作而设计的,服务器上没有 DOM。 尝试使用“jsdom”。 jQuery 是为客户端脚本编写的,而不是为服务器端客户端操作而设计的。

【讨论】:

  • 将我的服务器端值返回到客户端的最佳方式?
  • 嗯,“要在 Node、浏览器扩展和其他非浏览器环境中使用 jQuery,请仅使用 2.x 版本。1.x 不支持这些环境。” -> npmjs.com/package/jquery
  • jQuery 确实支持在 Node 中运行
  • 最好的方法 - 将值传递到视图中以使用您要访问的值进行呈现,然后使用 DOM 客户端访问它。
【解决方案3】:

您似乎正在尝试从后端对客户端进行更改。那样不行。

您可以在后端创建一个变量来存储计算结果。并通过来自客户端的get 查询获取此值

【讨论】:

  • 这听起来像是我需要做的,谢谢。你能提供一个小例子或指点我一些读物吗?
【解决方案4】:

您正在尝试从服务器端的 NodeJS 访问 DOM(即客户端)。那样不行。

【讨论】:

    猜你喜欢
    • 2019-06-25
    • 1970-01-01
    • 2014-09-22
    • 1970-01-01
    • 1970-01-01
    • 2021-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多