Javascript CGI.unescape和CGI.unescape;我什么也不做
我收到了一个字符串,作为对get请求的响应Javascript CGI.unescape和CGI.unescape;我什么也不做,javascript,ruby-on-rails,ruby,Javascript,Ruby On Rails,Ruby,我收到了一个字符串,作为对get请求的响应 {"revision"=>"r2407", "full_version"=>"2.5 [r2407]", "full_name"=>" [r2407]", "version&
{"revision"=>"r2407", "full_version"=>"2.5 [r2407]", "full_name"=>" [r2407]", "version"=>"2.5"}
在js文件中:
$('.output').text('<%=CGI.unescape(@response.to_s)%>')
$('.output').text('')
我仍然用”和之类的东西得到相同的字符串。我还尝试了JS unescape(),但它什么也没做。有什么问题吗?是处理URL编码的字符串
CGI.escape('&')
# => "%26"
CGI.unescape('%26')
# => "&"
改用:
我认为您首先需要使用以下命令将HTML从响应中解压出来,然后使用以下命令将其转义为JavaScript:
$('.output').text('')
试过了。仍然没有效果。控制器中实际上有这样一行:response.body=CGI.unescape\u html(response.body)
这可能是个愚蠢的问题,但是您的文件是否有.erb扩展名?@BroiSatse是的,它是js.erb
CGI.unescape_html('>')
# => ">"
body = '{"revision"=>"r2407", "full_version"=>"2.5 [r2407]", "full_name"=>" [r2407]", "version"=>"2.5"}'
CGI.unescape_html(body)
# => {"revision"=>"r2407", "full_version"=>"2.5 [r2407]", "full_name"=>" [r2407]", "version"=>"2.5"}
$('.output').text('<%=j CGI.unescape_html(@response.to_s)%>')