换行符破坏Javascript代码

时间:2013-11-04 17:15:49

标签: javascript ruby-on-rails svg

在我的Ruby on Rails应用程序中,此控制器使用Javscript渲染进行响应。对于某些“标签”,我需要用换行符\n替换空格。有两种方法可以做到这一点:

1)替换db本身的空格,只需在前端获取并提供它。

这使"North America"变为“North\nAmerica"

2)在应用程序代码中替换它

label = label.gsub(" ","\n")

第二个打破了javascript代码。我使用firebug查看了请求,第二个断言,新行字符实际上被解释为与第一个实现相比,它显示为纯文本。

上下文: 该操作呈现.js文件,因为它是对ajax调用的响应。 js文件调用Morris.js函数来实现分析。在这里也可以看到这个问题:svg-text-disappears-on-larger-label

1 个答案:

答案 0 :(得分:1)

您的代码中出现javascript转义似乎存在问题。 如果你使用远程请求而不是使用escape_javascript,并且如果你在html中使用脚本,那么你必须按照我们通常的方式使用'\'

来逃避它