EJS / Javascript:回车&换行符Javascript

时间:2016-05-20 13:05:40

标签: javascript jquery node.js ejs carriage-return

所以我正在使用EJS和Node.js开发一个表单。我从数据库中选取一个文本字段,例如:

,11-111-1111 ,Nurse ,Mobile Phone , , , , ,ABCD - LAB - User unable to see patient name in pending inquiry in Pat 
Taha St reporting, she can see everything else but patient name in pending inquiry

在Javascript代码中,我将数据库中的这个字段读入变量,如下所示:

var srDescription  = '<%= Description %>';

但我的Javascript打破了Chrome开发者工具中的以下堆栈:

VM5484:68 Uncaught SyntaxError: Unexpected token ILLEGALx.extend.globalEval @ jquery-2.0.2.min.js:4x.fn.extend.domManip 
@ jquery-2.0.2.min.js:5x.fn.extend.append @ jquery-2.0.2.min.js:5(anonymous function) 
@ jquery-2.0.2.min.js:5x.extend.access @ jquery-2.0.2.min.js:4x.fn.extend.html 
@ jquery-2.0.2.min.js:5$.ajax.success 
@ app.js:1863l @ jquery-2.0.2.min.js:4c.fireWith @ jquery-2.0.2.min.js:4k   
@ jquery-2.0.2.min.js:6(anonymous function) @ jquery-2.0.2.min.js:6

调查:

我用原始字符串&amp;进行了一些测试。发现只有当有回车换行字符(CRLF)

时才会中断

我试了以下但没有运气:

'<%= Description %>'.replace(/\r?\n\s*/g,'');

如何逃避这些字符,以便Javascript不会中断?

1 个答案:

答案 0 :(得分:0)

您可以使用ejs-shrink之类的插件清理空白,或实施自己的解决方案。但是,在这种情况下,我认为解决方案是在服务器端清理您的数据。