Javascript 为什么var clientPeople=<;%-JSON.stringify(serverPeople)%>;;console.log(客户端人员的类型);作为对象而不是ejs文件中的字符串返回
此代码在ejs文件中运行: 问题是为什么Javascript 为什么var clientPeople=<;%-JSON.stringify(serverPeople)%>;;console.log(客户端人员的类型);作为对象而不是ejs文件中的字符串返回,javascript,node.js,ejs,Javascript,Node.js,Ejs,此代码在ejs文件中运行: 问题是为什么 var clientPeople = <%- JSON.stringify(serverPeople) %>; console.log(typeof clientPeople); //returns as an object not a string var clientPeople=; console.log(客户端人员的类型); //作为对象而不是字符串返回 var clientPeople=''; console.log(客户端人
var clientPeople = <%- JSON.stringify(serverPeople) %>;
console.log(typeof clientPeople);
//returns as an object not a string
var clientPeople=;
console.log(客户端人员的类型);
//作为对象而不是字符串返回
var clientPeople='';
console.log(客户端人员的类型);
这应该返回字符串,因为它是一个带有JSON键/值的对象
stringify
不会将整个输出包装在一个字符串中。嗨,Seyi,我不需要它是字符串,我只是想了解为什么JSON.stringify(serverPeople)没有转换为字符串谢谢你的回答,因为它是一个带有JSON键/值的对象。EJS中的stringify将返回JavaScript对象文本,您将其传递到一个变量中,以便在客户端(即浏览器)上处理。因此,这将导致var clientPeople={“y”:“这是我们从stringify得到的”}代码>。从服务器获取后,这将被视为浏览器上的JS对象文本。我希望你能理解。谢谢你,塞伊,如果我的理解是正确的,请告诉我。是否将返回javascript对象文本?那么这就是ejs的行为了?@Hui,是的,有点,这是因为环境,它是一种服务器语言,可以动态地创建内容供客户端/浏览器处理。
var clientPeople = '<%- JSON.stringify(serverPeople) %>';
console.log(typeof clientPeople);