2015-06-07 33 views
0

我的項目偵聽端口。每當它收到一個請求時,它都會讀取一對XML文件並返回一定數量的Javascript,並連接起來。我的問題是代碼是HTML格式的,並且在渲染.ejs文件時將其放在標題內。順便說一下,它使用Express和MVC構建。渲染時正確格式化包含的JavaScript代碼

該塊被內部獨立的類方法定義如下:

Module.prototype.opens = function() { 
    var returnvar = "var myobject=function(){var D=\"undefined\",r=\"object\",S=\" 
    ... etc 

正如你所看到的,我逃過提前代碼,以避免造成引號,反斜槓,更意外終止字符串變量。

當只渲染視圖頁之前的console.log輸出(),代碼看起來很好:var myobject=function(){var D="undefined",r="object",S=" ...

然而,當視圖顯示,源代碼如下所示:

var myobject=function(){var D="undefined",r="object",S=" 

我試過更換,進行反向轉義等,但因爲我(如前所述)正在輸出的代碼調試的目的安慰,就在我把它傳遞給視圖,它表示該轉換髮生在渲染過程。

渲染器看起來像這樣:

var readSymbolicsXMLCallback = function(data) { 
    res.render('index', { 
     id: req.params.id, 
     embedcode: data 
    }); 
} 

視圖只包含此:

<%= embedcode %> 

任何想法,爲什麼發生這種情況以及如何防止/正確的呢?並且最好是在低CPU密集型的方式,如果可能的:)

回答

1

EJS readme顯示了不同的標籤,你可以在你的模板中使用。 <%=將跳過內容,而​​3210不會,所以使用後者。

+0

啊,簡單而輝煌。非常感謝! – Anders