未捕获的SyntaxError:具有服务器变量的意外标识符

Uncaught SyntaxError: Unexpected identifier with server variable

本文关键字:变量 服务器 意外 标识符 SyntaxError      更新时间:2023-09-26

以下代码行产生标题错误:

  var tweets = <%= tweets %>;

在铬控制台中,它显示如下:

var tweets = [object Object];

为什么会引发此错误?从类似的问题来看,这似乎是一个语法问题,但我不确定如何改变上述语法?

在发送之前,我最初对对象进行了字符串化,但这出现了错误,发现了意外的字符。

当您将对象转换为字符串时,会得到[object Object],这就是模板系统中发生的情况。

示例:

var obj = {
  stuff: 'things'
};
document.write(obj);

您可以通过打印出该对象的JSON表示来创建一个可比较的对象:

var tweets = <%- JSON.stringify(tweets) %>;
//             ^-- Change to - instead of = to avoid escaping

这是因为JSON是JavaScript的一个子集,因此可以直接在JavaScript中用于创建对象。