简体   繁体   中英

Send object from node.js to ejs, not [object Object]

If you use node.js and ejs and render JavaScript object to ejs, the resultant HTML page has the following syntax:

[object Object]

despite the fact that my object is as follows:

[{"a": 3, "b": 10}, {"c":3, "d":20}, {"e":1, "f":55}]

However, I want to render the object itself (object literal if I understand it correctly), not the useless [object Object] .

So how can I render it properly? res.render("index", {result: listOfObject.valueOf()}) didn't work.

[object Object] is what you get when you call .toString() on an anonymous object. This is implicitly done when you concatenate with another string (eg "my object: " + {a:'b'} ).

If you want to get the output you're looking for, you need to use

JSON.stringify(yourObjectHere)

Which prints it all out nicely.

res.render("index", { result: JSON.stringify(listOfObject) });

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM