簡體   English   中英

JavaScript中的動態值-Node.js

[英]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({&quot;foo&quot;:&quot;bar&quot;}) 

    而不是:

     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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM