我的项目收听了一个端口。每当它收到请求时,它会读取几个XML文件并返回某些Javascript块,连接起来。我的问题是代码是HTML格式的,并在呈现 .ejs 文件时放在标题内。顺便说一句,它是使用Express和MVC构建的。
这些块在单独的类方法中定义,如下所示:
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密集的方式:)