谷歌应用程序引擎-Javascript中的多行字符串

google app engine - Multiline strings in Javascript

本文关键字:字符串 应用程序 引擎 -Javascript 谷歌      更新时间:2023-09-26

我的数据库中有一个"多行"字符串,看起来像这样:

This is a multiline string

我正在使用谷歌的"Datstore",所以它在查看器中看起来就像这样。没有'n或类似的东西。

问题是,当我试图将检索到的字符串设置为Javascript变量时,我会得到一个"ILLEGAL TOKEN"错误。我通过Jinja2设置它,所以它看起来像这样:

<script>
var multilinestring = {{body|safe}} 
</script>

我也设置了其他类似的变量,但它们都是整数或单行字符串。任何帮助都会很棒!

如果是多行字符串,则必须在每行的末尾都有一个换行符(例如

您可以使用替换过滤器,看看是否可以删除换行符例如

var multilinestring = {{body|safe|replace("'n", " ")}} // not tested

您需要将它们用引号括起来。尝试var multirestricting="{{body|safe}}";

对字符串进行JSON编码的最佳方法。

这将照顾到任何新行以及其他特殊字符。

我不知道要编码的服务器端内容,但在客户端上,它看起来像:

var multilinestring = JSON.parse(jsonEncodeStringHere);

JavaScript字符串不能跨越多行而不带尾部反斜杠。这是令牌错误

尝试:

var multilistering="{{body|safe|replace('''n','''')}}";

相关文章: