[英]Dynamic values in javascript - Node.js
在node.js中,我通過以下方式將值發送到html:
render('/abc', mydata)
“ mydata”包含json_encoded格式。
我讀這是:
{{=mydata}}
現在,在同一個html頁面中,我有如下javascript:
<script>
xyz();
function xyz() {
// i need to read the "mydata" here.
}
</script>
我嘗試了這個不起作用的方法xyz({{=mydata}})
,如何在node.js中使用該動態數據?
一些可能性:
mydata
在視圖中可能實際上不是本地的。
Express無法傳遞用作參數的變量名稱。 僅它引用的Object
的屬性。
因此,您可能需要圍繞mydata
創建一個新的Object
為其命名一個屬性:
render('/abc', { mydata: mydata });
輸出可能是由{{= }}
進行HTML編碼的,這很可能會導致JavaScript中的SyntaxErrors。
因此,響應可能包含以下內容:
xyz({"foo":"bar"})
而不是:
xyz({"foo":"bar"})
如何跳過HTML編碼將取決於您在Express中使用的視圖引擎。 但是,就像將=
替換為-
一樣簡單。
xyz({{-mydata}})
mydata
可能仍然是一個Object
而不是您期望的json_encoded
數據的String
。
如果是這種情況,則可能使用的是標准.toString()
,它將產生:
xyz([object Object])
並且,您可能仍然需要stringify()
mydata
。
xyz({{-JSON.stringify(mydata)}})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.