我有id作为字符串。例如001,002等 虽然渲染页面我简单地传递了id,但是在客户端我收到了例如1,2等等
res.render('leafletDemo',{id:userID,latitude:latitude,longitude:longitude});
我想在客户端将id作为字符串本身。
答案 0 :(得分:1)
我的猜测是你在模板中有类似的东西将变量从服务器端代码传输到客户端代码:
<script>
var id = <%= id %>;
...
</script>
如果id
为"001"
,则呈现为:
<script>
var id = 001;
...
</script>
这使得id
的客户端版本成为一个数字。
要使id
保持格式正确的字符串,您可以改为使用它:
var id = <%- JSON.stringify(id) %>;
(注意它在<%
后使用连字符,而不是等号;这意味着JSON.stringify()
的结果不应由EJS进行HTML编码)
这将呈现:
var id = "001";
这就是你想要的。
此方法存在轻微的安全问题,因为如果 userId
可以以某种方式从客户端插入,则允许XSS 。如果它只是一个数据库ID,它很可能是正常的。