我正在尝试迭代Jade中3个对象的json数组,以便填充一些html(3是任意的,我有一个380 +的用户)。
而不是3个div,我得到大约5,000+。我如何从我的Node.js服务器迭代这个对象,以便它在Jade / Pug中正确呈现?我的猜测是,它不是给我数组的长度(3),它给了我长度使该数组超过5,000的json字符串。
我的服务器发送了这个:
res.render('yourUploads', {fromServer:JSON.stringify(rows[0])});
rows[0]
是来自mysql数据库查询的结果,3个结果。
script.
var data = !{fromServer};
console.log(data); //prints "(3) [Object, Object, Object]"
console.log(data.length); //prints "3"
mixin posMixin(uploadData)
div #{uploadData}
body
div Welcome to your awesome uploads page
div(onclick="window.location='/createNewUpload'") go to your awesome Create New Upload page
- for (i = 0; i < fromServer.length; ++i) { //fromServer.length is about 5,000?
+posMixin("whateverItTakesToGetThisToWork") //puts 5,000 divs into the dom!!!
- }
正如你可能已经猜到的那样,我并不确定应该代替"whateverItTakesToGetThisToWork"
,但是在我弄清楚这个fromServer
的错误之后它变得相当明显我不会感到惊讶。 1}}对象。我原以为它会fromSever[i]
但产生的输出太大会导致我的机器崩溃。
答案 0 :(得分:2)
因为你使用JSON.stringify对数据进行了serielize,现在fromServer是一个字符串,也许你不能在pug中使用JSON方法,只是不要使用JSON.stringify,直接传递数据。