[英]How can I unescape and remove quot; from data served by rails into javascript
这个问题已经在stackoverflow上问过几次了,但是我还没有找到一种方法来从我试图提供的rails实例变量中转义双引号,以便我的highcharts在各自的js.erb
使用。文件。
这是我的代码:
class FooController < ApplicationController
def foo
@foo_bar = @foo.map { |f| f.version }
end
end
@foo_bar
实例变量应返回["1.2.3","3.0","4.5"]
。 取而代之的是,我一直得到这个["1.2.3", "3.0quot;,quot;4.5quot]
; 而且我似乎无法删除它。 我尝试使用Rail的escape_javascript
方法,但仍然无法正常工作。 我已经尝试过JSON.parse(instance_variable)
,但也不起作用。 最后,我尝试用.gsub
将引号引起来并用\\"
手动替换它们,但这也行不通。为什么双引号不能逃脱,如何从根本上解决这个问题呢?解决服务器端和客户端这两个问题,但无济于事,还有人提出建议吗?
您要内联被视为HTML“不安全”的数据,因此必须在模板中将其声明为安全。
<%= @foo_bar.to_json.html_safe %>
请注意,当您将某些内容声明为“安全”时,这表示您有信心不会因为使用其他转义方法而遭受XSS攻击。 在您的情况下,请确保您发出了正确转义的JavaScript或JSON。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.