首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从index.js在node.js中传递变量时语法错误

从index.js在node.js中传递变量时语法错误
EN

Stack Overflow用户
提问于 2021-06-30 05:02:16
回答 1查看 73关注 0票数 0

我正在开发一个网站,它使用node.js和pug作为模板引擎。我试图将一个变量从index.js传递给我的map.pug文件,特别是一个用户参数,当用户登录到站点时,该参数包含Google登录信息。

index.js代码片段是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
app.get('/map', (req,res) => {
    res.render('map', {
        user: req.user,
        authenticated: req.isAuthenticated()
    });
});

map.pug片段是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var user
// Find out if the user is logged in & assign to "user" variable if so
if (!{JSON.stringify(authenticated)} == true) {
    user = !{JSON.stringify(user)};
} else {
    user = 'undefined';
};
console.log(user);

当用户在将字典传递到user变量时登录时,这很好。当用户未登录时,req.userundefined,因此不会将任何内容传递给user

这将导致以下语法错误:

Uncaught SyntaxError: Unexpected token ';'

即使JSON.stringify语句在if语句中?我尝试过使用try...catch来修复这个问题,但是它不适用于语法错误,所以我在如何修复这个问题上遇到了一些困难。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-30 05:45:00

正如您所提到的,这个问题是由于用户变量在没有经过身份验证时没有被设置。(这会导致页面上呈现的脚本具有user =;这是语法错误)。如果在快捷呈现函数中未定义req.user,则可以通过设置默认值来解决此问题。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
app.get('/map', (req, res) => {
    res.render('map', {
        authenticated: req.isAuthenticated(),
        user: req.user !== undefined ? req.user : {},
    })
});

当一个空对象未定义时,上面的内容会将用户设置为空对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68195314

复制
相关文章
构建以及运行Springboot Docker镜像时的变量传递
Docker可以把我们的运行环境打包,然后我们只要run就可以了。大部分hello world都是这么写的。但都缺少了实际应用环节。以springboot为例,hello world的Dockerfile是这样的:
Ryan-Miao
2019/07/02
4.8K0
HTML中传递和引用JavaScript变量
http://ivantian2008.blog.51cto.com/622133/1127456
明哥的运维笔记
2019/01/30
5.6K0
jsp中在href中传递参数
<% Configuration conf = new Configuration(); URI uri = new URI("hdfs://192.168.0.52:9010"); FileSystem fileSystem = FileSystem.get(uri, conf); //System.out.println("Hdfs directory is"+"\n"); Path src1 = new Path("hdfs://192.168.0.52:9
闵开慧
2018/03/30
4.7K0
Python中如何通过引用传递变量
问: 参数是按引用传递还是按值传递? 我如何通过引用传递,以便下面的代码输出 'Changed' 而不是 'Original'? class PassByReference: def __in
程序熵
2023/09/25
2000
Python中如何通过引用传递变量
httprunner 2.x学习12-在testcase中传递变量(output)
httprunner 2.x 的版本,testcase 可以引用 api, 同样的 testcase 也可以引用另外一个 testcase 文件 在2个 testcase 中传递变量可以用到 output 关键字
上海-悠悠
2021/04/26
9370
JWT如何在Spring Cloud微服务系统中在服务相互调时传递
在微服务系统中,为了保证微服务系统的安全,常常使用jwt来鉴权,但是服务内部的相互调用呢。经常有人在微信上问我,我给出一个解决办法,采用Feign的拦截器。 在Feign中开启了hystrix,hys
方志朋
2017/12/29
1.5K0
关于 Node.js 调试,你需要了解的一切
Node.js 是一种颇具人气的 JavaScript 运行时,与谷歌 Chrome 浏览器一样采用同款 V8 引擎。
深度学习与Python
2023/09/08
4740
关于 Node.js 调试,你需要了解的一切
shell 循环变量传递问题
定义为环境变量没有用的,环境变量只是在子进程创建的时候可以从父进程复制到子进程,它无法实现从子进程往父进程传递,也不能在子进程运行期间从父进程获得新值。
全栈程序员站长
2022/09/15
9590
在Node.js中读写文件
本文翻译自Reading and Writing Files in Node.js
ccf19881030
2020/10/29
5.3K0
通过 JavaScrpit 传递 Post 变量
使用 Get 方式方式传递变量会把 URL 搞得很长,而且 IE 会对长度有限制,所以最好的方式还是通过 Post 方式来传递变量。但是通过 Post 来传递变量的时候一定要有个表单,很多时候页面上并没有表单,所以这个时候可以隐藏表单,然后通过 JavaScript 来提交表单。下面是个隐藏表单的例子:
Denis
2023/04/13
6950
Node.js中关于accept时EMFILE的处理
EMFILE表示进程打开的文件描述符达到了上限,比如建立了一个TCP连接后,调用accept函数的时候就可能触发这个错误。那么这个会导致什么问题呢?首先我们看看Node.js是如何处理连接的。
theanarkh
2021/07/08
9400
【说站】python在函数中传递实参
若要使函数接受不同类型的实参,则必须将接受任意数量实参的形参放在函数定义的最后。首先,Python匹配位置实参和关键词实参,然后将剩余的实参收集到最后一个形参中。
很酷的站长
2022/11/23
1.6K0
【说站】python在函数中传递实参
在js中获取thymeleaf变量
大人者,不失其赤子之心者也。——《孟子·离娄下》 代码很简单 如下即可,这里的'Achao'是为了防止编译报错 <script th:inline="javascript"> var data = /*[[${data}]]*/ 'Achao'; console.log(data); </script>
阿超
2022/08/16
13.3K0
Node.js 项目调试指南
Node.js 是一种流行的 JavaScript 运行时,与谷歌 Chrome 浏览器使用相同的 V8 引擎。它是跨平台的,在创建 Web 服务器、构建工具、命令行工具等方面越来越受欢迎。
ConardLi
2023/08/23
7640
Node.js 项目调试指南
Python 模块之间传递变量
最近在做实验时发现个问题,我想在一个模块中调用另一个模块的变量,首先想到了用return 
py3study
2020/01/10
3.8K0
在Node.js中处理Zip文件
Zip 文件是常用的压缩文件格式。在本文中,我将演示如何用 adm-zip npm 模块[1]创建和提取 zip 文件。
疯狂的技术宅
2020/08/10
5.2K0
PHP变量传递值的方法
变量的传值方式,是指一个变量传给另一个变量的内部细节形式——单对单. 值传递 互相独立,互不影响. <?php $v1 = 1; $v2 = $v1; // 值传递
小新哟
2020/09/23
2.8K0
PHP变量传递值的方法
thymeleaf 传递数据到js变量
thymeleaf 传递数据到js变量 如何把控制器传来的model中的值传递给js变量呢? 需要以下两个: <script th:inline="javascript"> var message =
Dream城堡
2018/09/10
5.1K0
答网友问:golang中的slice作为函数参数时是值传递还是引用传递?
今天有网友问通道和切片在赋值给另一个变量或作为函数参数传递的时候是不是引用传递?因为老师在讲解的时候说是指针传递?
Go学堂
2023/08/29
7270
答网友问:golang中的slice作为函数参数时是值传递还是引用传递?
【Java变量】 局部变量、成员变量(类变量,实例变量)、方法参数传递机制
.29.
2023/10/25
2200
【Java变量】 局部变量、成员变量(类变量,实例变量)、方法参数传递机制

相似问题

在宏中传递变量args时的语法错误

12

Index.js中的语法错误

23

如何在Node.js /index.js中获取在app.js中定义的变量?

37

如何将变量从app.js传递到路由/index.js?

43

将变量从JavaScript传递到Node.js

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文