Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery&;jade从Nodejs读取渲染数据_Javascript_Jquery_Node.js_Express_Pug - Fatal编程技术网

Javascript JQuery&;jade从Nodejs读取渲染数据

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

我使用Jade框架作为前端,Nodejs&express作为后端

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

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

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())将对象写入

不幸的是,没有读取错误配置文件下的数据:2未捕获的引用错误:配置文件中未定义数据:2修改了我的答案,请立即尝试哦,哇,它正在工作!!但问题是你试图添加我自己的代码,但无法!!!我试图复制你的代码也无法|!='警报(“+services+”)!='警报(“+services+”)|那么这里的秘密是什么呢?在我的回答中添加了一些解释