【问题标题】: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 语法无效。 (而且,显然,这种情况正在发生。)

标签: javascript jquery ruby-on-rails ruby-on-rails-6


【解决方案1】:

您可以通过 3 种方式解决它,使用模板文字或转义单引号字符

console.log(`<%= recaptcha_element('signup')%>`);

console.log("<%= recaptcha_element('signup')%>");

console.log('<%= recaptcha_element(\'signup\')%>');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-28
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 2019-09-19
    • 2021-06-09
    相关资源
    最近更新 更多