Javascript中的多行字符串
我的数据库中有一个“多行”字符串,看起来像这样:Javascript中的多行字符串,javascript,google-app-engine,jinja2,google-cloud-datastore,Javascript,Google App Engine,Jinja2,Google Cloud Datastore,我的数据库中有一个“多行”字符串,看起来像这样: <script> var multilinestring = {{body|safe}} </script> 这个 是 A. 多行 一串 我使用的是谷歌的“Datstore”,所以它在查看器中看起来就像这样。没有\n之类的东西 问题是,当我试图将检索到的字符串设置为Javascript变量时,会出现“非法令牌”错误。我通过Jinja2进行设置,因此它看起来像这样: <script> var multili
<script>
var multilinestring = {{body|safe}}
</script>
这个
是
A.
多行
一串
我使用的是谷歌的“Datstore”,所以它在查看器中看起来就像这样。没有\n
之类的东西
问题是,当我试图将检索到的字符串设置为Javascript变量时,会出现“非法令牌”错误。我通过Jinja2进行设置,因此它看起来像这样:
<script>
var multilinestring = {{body|safe}}
</script>
var multileString={body | safe}
我也设置了其他类似的变量,但它们都是整数或单行字符串。任何帮助都会很棒 如果是多行字符串,则必须在每行末尾有一个新行字符(例如\n) 您可以使用“替换”过滤器并查看是否可以删除新行字符 e、 g
你需要用引号把它们括起来。 尝试
var multilitiestring='{{body | safe}};对字符串进行JSON编码是最好的选择 这将照顾到任何新的行以及其他特殊字符 我不知道要编码的服务器端内容,但在客户端,它看起来像:
var multilinestring = JSON.parse(jsonEncodeStringHere);
JavaScript字符串不能跨越多行而没有尾随的反斜杠。这就是标记错误 尝试:
var multileString=“{body | safe | replace('\n','\')}”谢谢,这似乎应该可以解决它,但我得到了以下语法错误:
var authorBio=“{{bio | safe | replace(“\n”,“\”)}”";代码>TemplateSyntaxError:应为标记“,”,获得“;”代码>您没有正确使用引号。内部应该是单引号。除此之外,您还制作了4条字符串。谢谢,但这只不过是放了一个空格。但它确实解决了错误。我认为@GAEfan的回答是正确的,只要它能起作用。我认为他的代码是在评论中删掉的,你可以使用replace(“\n”,“\\n”)