You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js字符串字面量输出双引号报错:无效或意外令牌

解决Node.js字符串字面量中双引号导致的语法错误问题

你的问题出在字符串拼接的语法错误上——拼接request.params.assignee之后的字符串片段时,没有正确用引号包裹,导致JavaScript无法解析未闭合的引号结构,从而抛出"Invalid or unexpected token"错误。

问题分析

看你代码里的日志字符串拼接部分:

mail + ' heeft gebruiker met naam "' + request.params.assignee + '" toegekend aan opdracht met als naam "' + request.params.name + '".'

问题核心是request.params.assignee + '" toegekend...'这一段:这里的" toegekend aan opdracht met als naam "'没有被单引号包裹,JavaScript会把开头的"当作新字符串的起始,但后续的'又形成了未闭合的单引号,直接触发语法错误。

解决方案

方案1:修复传统字符串拼接的引号

确保每个字符串片段都被单引号正确包裹,单引号内部的双引号可以直接使用,不需要转义:

logs_logic.addLog(mail + ' heeft gebruiker met naam "' + request.params.assignee + '" toegekend aan opdracht met als naam "' + request.params.name + '".');

(注:关键是把中间的字符串片段用单引号包裹,让每个拼接单元都是合法的字符串字面量)

方案2:使用ES6模板字符串(推荐)

用反引号()包裹整个字符串,变量通过${变量名}`的方式插入,这种写法不仅避免了繁琐的拼接,双引号也可以直接在字符串中使用,完全不会有语法问题:

logs_logic.addLog(`${mail} heeft gebruiker met naam "${request.params.assignee}" toegekend aan opdracht met als naam "${request.params.name}".`);

这种写法更清晰易读,也是当前Node.js项目中推荐的字符串格式化方式。

验证修复

把代码替换为上面任意一种方案后,重新运行Node.js服务,就能正常输出包含双引号的字符串,不会再出现语法错误了。

内容的提问来源于stack exchange,提问作者abstract christmas tree

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:45:15