未捕获的 SyntaxError:'' 字符串文字包含未转义的换行符
Posted
技术标签:
【中文标题】未捕获的 SyntaxError:\'\' 字符串文字包含未转义的换行符【英文标题】:Uncaught SyntaxError: '' string literal contains an unescaped line break未捕获的 SyntaxError:'' 字符串文字包含未转义的换行符 【发布时间】:2021-05-18 22:10:25 【问题描述】:我正在使用 Ruby on Rails。
create.js.erb
$('#my_re_ap').html('<%= recaptcha_element('signup')%>');
但我收到 Uncaught SyntaxError: '' string literal contains an unescaped line break
错误。
我的视图助手看起来像这样。我正在使用recaptcha gem。
帮手
def recaptcha_element(event_name)
if @show_checkbox_recaptcha
content_tag :div, class: "pb-2" do
recaptcha_tags
end
else
recaptcha_v3(action: event_name, site_key: 'key123')
end
end
我的语法有什么问题?
【问题讨论】:
如果您的 Ruby 代码生成带有换行符的字符串,则会导致 javascript 语法无效。 (而且,显然,这种情况正在发生。) 【参考方案1】:您可以通过 3 种方式解决它,使用模板文字或转义单引号字符
console.log(`<%= recaptcha_element('signup')%>`);
console.log("<%= recaptcha_element('signup')%>");
console.log('<%= recaptcha_element(\'signup\')%>');
【讨论】:
以上是关于未捕获的 SyntaxError:'' 字符串文字包含未转义的换行符的主要内容,如果未能解决你的问题,请参考以下文章
未捕获的 SyntaxError:JS 和 CSS 文件中的非法字符 U+001F
python:SyntaxError:EOL,同时扫描字符串文字
未捕获的 SyntaxError:意外的令牌导出 (Redux)
未捕获的 SyntaxError:意外的令牌导入 - Reactjs