Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript中的多行字符串_Javascript_Google App Engine_Jinja2_Google Cloud Datastore - Fatal编程技术网

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”)