EJS/Javascript: 回车return & 换行符Javascript

EJS/Javascript: Carriage return & line break breaks Javascript

所以我正在使用 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

调查:

我对原始字符串进行了一些测试,发现只有在有回车 return 换行符 (CRLF)

时才会中断

我尝试了以下但没有成功:

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

如何对这些字符进行转义以使 Javascript 不中断?

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