我正在使用 JavaScript、express.js、ejs 和 Node.js 構建一個網站,但我遇到了一個問題。
我以這種方式向前端發送一個陣列:
const dataToSend = [
{
id: "ID",
name: "Name"
},
{
id: "ID",
name: "Name"
}
]
res.render('configure', {
array: dataToSend
});
并以這種方式使用 ejs 將其放在前端:
<%= array %>
如果我在前端列印陣列,結果將是[object Object],我還列印出typeof('<%= array %>')回傳的字串。
我發現了一些關于此的主題,但我找不到任何有幫助的東西。我想知道這樣做的正確方法是什么。謝謝。
uj5u.com熱心網友回復:
這里的問題是陣列被轉換為字串。在 JavaScript 中,物件 ( {...}) 有一個默認toString回傳字串的方法。[object Object]
要解決這個問題,您需要確保陣列沒有被轉換為字串。
在 EJS 中,您有多種標簽可供選擇:
Tags
<% 'Scriptlet' tag, for control-flow, no output
<%_ ‘Whitespace Slurping’ Scriptlet tag, strips all whitespace before it
<%= Outputs the value into the template (HTML escaped)
<%- Outputs the unescaped value into the template
<%# Comment tag, no execution, no output
<%% Outputs a literal '<%'
%> Plain ending tag
-%> Trim-mode ('newline slurp') tag, trims following newline
_%> ‘Whitespace Slurping’ ending tag, removes all whitespace after it
來源:https ://ejs.co/
您可能正在尋找這個:<%-輸出JSON.stringify'd 陣列。
<%- JSON.stringify(array) %>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/434341.html
標籤:javascript 数组 ejs
