Javascript JQuery&;jade从Nodejs读取渲染数据
我使用Jade框架作为前端,Nodejs&express作为后端 因此,当我使用数据渲染视图时,我无法使用JQuery访问这些数据 下面是Nodejs提供的我的服务,它使用简单数据=x呈现视图Javascript JQuery&;jade从Nodejs读取渲染数据,javascript,jquery,node.js,express,pug,Javascript,Jquery,Node.js,Express,Pug,我使用Jade框架作为前端,Nodejs&express作为后端 因此,当我使用数据渲染视图时,我无法使用JQuery访问这些数据 下面是Nodejs提供的我的服务,它使用简单数据=x呈现视图 router.get('/test',function (req,res,next) { res.render('test',{data : 'x'}); }); 因此,测试页面将毫无问题地显示,我试图做的是使用Jquery方法读取呈现的数据 footer
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
但错误表示(数据变量未知)
而且,我可以从玉本身看出来
有什么建议吗
谢谢尝试使用以下方法
|<script>
!='alert("'+data+'")'
|</script>
|
!='警报(“+data+”)
|
您在jade框架中编写的JavaScript将无法看到服务器端node.js变量,因为此客户端JavaScript是在浏览器中加载和执行的,因此您必须以某种方式将变量从服务器端传递到客户端,然后使用客户端JavaScript获取这些变量
如果要传递一些字符串,则使用前面的方法更容易
|
->打开JavaScript标记
!='alert(““+data+””)
->普通的jade字符串,它将位于我们的JavaScript标记中,这意味着它应该在经过jade处理后向我们提供JavaScript代码,这将使我们的最终文本alert(“x”)
,因为数据将被其值替换
|
->关闭JavaScript标记
但如果要传递对象,有几种方法:
- 使用AJAX请求
- 在服务器端使用
将对象写入隐藏的JSON.stringify(data)
,在客户端使用div
var data=JSON.parse(jQuery('div').text())将对象写入