传给玉的东西最后是一串
Object passed to jade ends up as string
我想把一个对象从node传递给jade,并在js中使用它。但它最终是[object Object]
字符串,我不知道为什么
服务器端
var currentProblem = problemMaker.makeProblem(level);
console.dir(currentProblem); // [ { value: 2, operation: '+' }, {value: 1, operation: '-' } ]
res.render('training', {
// ...
Oid : problemOid,
problemObject : JSON.stringify(currentProblem)
});
翡翠
script(type='text/javascript').
var problemOid = "!{Oid}" // this WORKS
script(type='text/javascript').
var problemObj = "!{JSON.parse(problemObject)}" // this does NOT
(注意,webstorm将"problemObject"标记为未解决的变量,而Oid似乎没有问题)
浏览器js
console.log(typeof problemObj); // string
console.dir(problemObj); // [object Object],[object Object]
我试过有字符串/解析和没有字符串/解析,没有区别。我做错了什么?
感谢
解决方案
我通过删除引号并删除任何JSON.xxxx 来实现它
工作代码:
script(type='text/javascript') var problemObj = !{problemObject};
删除逗号并使用JSON.stringify
代替JSON.parse
script var problemObj = !{JSON.stringify(problemObject)};
这里的主要想法
var str = JSON.stringify({a: 1000}); // returns string "{"a":1000}"
console.log(str); // print {"a":1000}
所以,在你的html中,你会看到
script var str = !{JSON.stringify({a: 1000})};
->
<script>
var str = {"a":1000};
</script>
相关文章:
- 如何将返回一串数字的 JSON 属性转换为日期
- 在一串数字中查找特定值
- 如何将一串数字转换为数组
- javascript对象(如array&一串
- 如何用Javascript生成一串数字和字母
- 加载一串 markdown 属性作为 JavaScript 对象
- 为什么一串数字的工作方式与新日期中的实际数字不同
- 如何将一串数字和数学运算符变成整数答案?- JavaScript
- 传给玉的东西最后是一串
- 色调转换一串颜色
- 如何在饼干中剪下一串字母
- 如何用'null'一串
- 是 JavaScript 中的一串空白真或假
- Node JS -在一个新进程中执行一串代码
- 有没有任何字符串方法,能让我把一串数字,转换成一串数字和字母
- 一串没有RegEX的Match()
- 对一串数字进行排序,每个数字里面都有一个字母.确保在原始数组中保持相同的重复项位置
- 在javascript中创建一串数字,每个数字都有限制
- 我如何从一串用冒号分隔的角色中获得数据
- 如何获取一串参数并返回其中包含的点数(.)