gpt4 book ai didi

javascript - JQuery & jade 从 Nodejs 读取渲染数据

转载 作者:太空宇宙 更新时间:2023-11-04 00:24:08 25 4
gpt4 key购买 nike

我使用 Jade 框架作为前端,Nodejs 和 Express 作为后端

因此,当我使用数据渲染 View 时,我无法使用 JQuery 访问这些数据

下面是我的 Nodejs 服务,它使用简单的数据 = x 呈现 View

router.get('/test',function (req,res,next) {


res.render('test',{data : 'x'});

});

所以测试页面将毫无问题地显示,我想做的是使用Jquery方法读取渲染的数据

                footer
.pull-right
| Gentelella - Bootstrap Admin Template by
a(href='https://colorlib.com') Colorlib
.clearfix
// /footer content




// jQuery
script(src='/vendors/jquery/dist/jquery.min.js')
alert(data) // no alert or action happen

但是错误说(数据变量未知)

而且,我可以从 Jade 本身读取它

有什么建议吗?

谢谢

最佳答案

尝试使用以下内容

|<script>
!='alert("'+data+'")'
|</script>

您在jade框架中编写的JavaScript将无法看到服务器端node.js变量,因为客户端JavaScript是在浏览器内加载和执行的,因此您必须以某种方式将变量从服务器端传递到客户端,然后使用客户端JavaScript获取这些变量。

如果你要传递一些字符串,那么使用前面的方式会更容易。

|<script> -> 打开 JavaScript 标签。

!='alert("'+data+'")' -> 普通的 Jade 字符串将位于我们的 JavaScript 标签内,这意味着它应该在被 Jade 处理后为我们提供 JavaScript 代码,这将构成我们的最终文本 alert("x")因为数据将被其值替换。

|</script> -> 关闭 JavaScript 标签

但是如果你想传递对象,有几种方法可以做到:

  • 使用 AJAX 请求。
  • 使用JSON.stringify(data)在服务器端将您的对象写入隐藏div并在客户端使用 var data = JSON.parse(jQuery('div').text())

关于javascript - JQuery & jade 从 Nodejs 读取渲染数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43493690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com