2017-04-06 33 views
0

我將一個json字符串變量從nodejs傳遞給ejs。無法解析ejs中的json字符串因爲單引號中的值

如stringJson = 「{」 目標文件 「: 」它不工作「}」

我使用 VAR stringifiedJson腳本標籤中EJS檢索該值= '<% - stringJson%>'

所以當頁面被渲染時,它給出錯誤「SyntaxError:missing; before statement」,因爲stringJson的值包含單引號。

我遇到了一些解決方案,就像我可以用「\」替換它的單引號,但是這個解決方案中的問題是我將許多jsonString變量從節點傳遞給ejs。所以我在所有變量中都做了同樣的事情。

我也可見於一些溶液象下面

<script> 
    var stringifiedJson = <%- stringJson%> 
</script> 

而不周圍 ''。但其顯示錯誤「表達式需要」錯誤。

是否有任何其他方式與我可以解析jsonString到Json對象?

回答

0

喜歡的東西,將工作:

<p>stringJson.obj: <%= stringJson.obj %></p>

我認爲錯誤來自於服務器的響應,試試這個:

res.render('index.ejs', { stringJson: {"obj": "it's not working"} });

+0

謝謝回答。 我檢查了錯誤不是來自服務器。 我從服務器傳遞json字符串化的數據。

stringJson.obj:<%= stringJson.obj%>

這不會工作,因爲stringJson必須在json對象中解析。 我正在腳本標記中進行操作。 –

+0

也許這可以幫助: http://stackoverflow.com/questions/28603658/can-a-js-script-get-a-variable-written-in-a-ejs-context-page-within-the-same -fil –

相關問題