首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用nodejs vash模板通过脚本标签发送数据

使用nodejs vash模板通过脚本标签发送数据
EN

Stack Overflow用户
提问于 2015-02-05 09:17:01
回答 1查看 786关注 0票数 3

我是nodejs的新手。尝试使用vash模板将一些引导数据(登录用户)从nodejs服务器发送回带有索引页的客户端。需要客户端上的引导数据来根据用户是否登录来启用/禁用某些选项。

server.js如下所示:

代码语言:javascript
运行
复制
app.get("*", function(req, res) {
    res.render("index", {
        title: "Page title",
        bootstrappedUser: req.user
    });
});

index.vash

代码语言:javascript
运行
复制
@html.extend('layout', function(model) {
    @html.block("scripts", function(model){
        @if(model.bootstrappedUser) {
        @{
            var a = model.bootstrappedUser;
        }
            <script type="text/javascript">
                window.bootstrappedUser = JSON.stringify(@a);
            </script>
        }
   })
})

但这会在下面的stringify函数上的客户端html中产生一个"UncaughtSyntaxError:意外的标识符“:

代码语言:javascript
运行
复制
    <script type="text/javascript">
            window.bootstrappedUser = JSON.stringify([object Object]);
    </script>

我试图在Github上查找Vash page,但实际上没有关于使用vash的脚本块的文档。我是否在“index.vash”中使用了正确的语法,或者是我遗漏了一些vash字符串插值?任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2015-06-04 22:33:35

您必须从nodejs通过JSON.stringfy(obj)发送数据,然后

代码语言:javascript
运行
复制
   <script>
       var test = @html.raw(@model)
   </script>

均值

server.js

代码语言:javascript
运行
复制
app.get("*", function(req, res) {
    res.render("index", {
        title: "Page title",
        bootstrappedUser: JSON.stringfy(req.user)
    });
});

index.vash

代码语言:javascript
运行
复制
@html.extend('layout', function(model) {
    @html.block("scripts", function(model){
        @if(model.bootstrappedUser) {
        @{
            var a = model.bootstrappedUser;
        }
            <script type="text/javascript">
                window.bootstrappedUser = @html.raw(a);
            </script>
        }
   })
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28334618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档