CGI.unescape和CGI.unescapeHTML don'Don’我什么都不做
CGI.unescape and CGI.unescapeHTML don't do anything
我有一个字符串,作为对获取请求的响应
{"revision"=>"r2407", "full_version"=>"2.5 [r2407]", "full_name"=>" [r2407]", "version"=>"2.5"}
在js文件中:
$('.output').text('<%=CGI.unescape(@response.to_s)%>')
我仍然得到与"
的和类似的字符串。我还尝试了JS unescape(),但它也没有做任何事情。怎么了?
CGI.escape
和CGI.unescape
用于处理URL编码的字符串。
CGI.escape('&')
# => "%26"
CGI.unescape('%26')
# => "&"
改为使用CGI::unescape_html
:
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"}
我认为您首先需要使用CGI.unescape_html
从响应中取消捕获HTML,然后使用j
:将其转义为JavaScript
$('.output').text('<%=j CGI.unescape_html(@response.to_s)%>')
相关文章:
- 这是什么 ==- javascript 运算符
- 我的单元测试选项是什么
- 全局变量和全局对象的属性之间有什么区别吗
- 打破承诺链的好方法是什么
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Javascript中的空白是什么
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 在ember/handlers中使用value和valueBinding有什么区别
- 什么'在webpack外部设置中,reactDom和reactDom不同
- 在JavaScript中拆分日期字符串的更好方法是什么
- 为什么$.brower被弃用?还有什么更好的替代方案
- 什么是&&在没有if的行中的变量之间
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 处理浮点错误的最佳方法是什么
- DOM元素和angular元素之间的主要区别是什么
- javascript导入的最佳实践是什么
- 这两个关于 JavaScript 作用域链的例子有什么区别?
- 什么's本地node.js服务器和python简单http服务器之间的区别
- 基于窗口宽度jquery的函数的替代方法是什么
- CGI.unescape和CGI.unescapeHTML don'Don’我什么都不做