【问题标题】:new line text causing error in javascript 'unterminated string literal'新行文本导致 javascript '未终止的字符串文字'中的错误
【发布时间】:2016-06-17 23:29:03
【问题描述】:

我正在使用 laravel,我在数据库中有这样的字符串,

hello
username, address
country

用户名和国家在新行,字段类型是数据库中的“文本”,

当我试图将它放入像这样的JavaScript 变量时,

var add="{{ $data['order']->address }}";

收到错误unterminated string literal。如果数据库中的 1 行中的字符串没有错误。

【问题讨论】:

  • 您可以将换行符替换为空字符串,然后放入var add。 ri8:
  • 但是对于替换字符串,我必须将其存储到变量中,当我尝试将其存储到变量中时会出错。
  • 在分配给像 var add="{{ removeNewline($data['order']->address) }}"; 这样的变量之前,你能在 javascript 中调用一个函数吗?
  • 不,出现错误@Plum
  • 这个$data['order']->地址变量是什么,是php

标签: javascript php database laravel-4


【解决方案1】:

第一个选项

您可以使用 ES6 和新的字符串表示法:

var str = `my
           multiline
           string`;

第二个选项

用\n 替换换行符,如here 所述:

var add="<?=str_replace("\n", '\n', $data['order']->address)?>"

【讨论】:

  • 得到 laravel 错误syntax error, unexpected '{' ... var add="&lt;?php echo $data['order']-&gt;address|replace({'\n':'\n'}); ?&gt;";
  • 如果我从mac 按下“返回”键,则失败。它会生成任何不同的文本吗?
  • 是的,使用此代码后,使用 '\r' 时出现上述错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多