Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “字符”;d'&引用;成为;d' &引用;显示时_Javascript_Jquery_Ruby On Rails_Character Encoding_Utf - Fatal编程技术网

Javascript “字符”;d'&引用;成为;d' &引用;显示时

Javascript “字符”;d'&引用;成为;d&#39; &引用;显示时,javascript,jquery,ruby-on-rails,character-encoding,utf,Javascript,Jquery,Ruby On Rails,Character Encoding,Utf,所以我从AJAX中的一个API请求中获得了这个地址7 rue la Tour d'Auvergne 但是当我把它输入到我的视图中,甚至只是像这样显示它时 获取地址js.erb alert('<%= @sellsy_address.address %>') $('#address').val('<%= @sellsy_address.address unless @sellsy_address.blank? %>'); 警报(“”) $('地址').val(''); 我

所以我从AJAX中的一个API请求中获得了这个地址
7 rue la Tour d'Auvergne

但是当我把它输入到我的视图中,甚至只是像这样显示它时

获取地址js.erb

alert('<%= @sellsy_address.address %>')
$('#address').val('<%= @sellsy_address.address unless @sellsy_address.blank? %>');
警报(“”)
$('地址').val('');
我得到了这个
7路拉图尔d';奥弗涅

你知道我如何保持
d'
的原样吗?我试着用不同的方式对它进行编码或解码,但没有结果

提前谢谢

编辑


如果我使用html_-safe的原始版本,我的js.erb将不再加载

尝试使用
html_-safe
以及
escape\u javascript
(或
j
),如下所示:

alert('<%= j @sellsy_address.address.html_safe %>');
alert("<%= @sellsy_address.address.html_safe %>");
如果我使用html_safe的原始版本,我的js.erb将不再加载

这是因为您得到了一个语法错误,因为
7 rue la Tour d'Auvergne
中的
位于单引号内。检查以下示例

单引号,不带
escape\u javascript
(或
j

现在,
已转义,不再是结束报价,因此警报将正确显示

双引号,不带
escape\u javascript
(或
j

警报(“”);
//生成的代码:
警报(“奥弗涅图尔街7号”);

这次
不需要转义,因为字符串被括在双引号(“”“”)之间,避免了与单引号(
)的任何冲突。

尝试使用
html\u-safe
转义\u-javascript
(或
j
)如下:

alert('<%= j @sellsy_address.address.html_safe %>');
alert("<%= @sellsy_address.address.html_safe %>");
如果我使用html_safe的原始版本,我的js.erb将不再加载

这是因为您得到了一个语法错误,因为
7 rue la Tour d'Auvergne
中的
位于单引号内。检查以下示例

单引号,不带
escape\u javascript
(或
j

现在,
已转义,不再是结束报价,因此警报将正确显示

双引号,不带
escape\u javascript
(或
j

警报(“”);
//生成的代码:
警报(“奥弗涅图尔街7号”);

这次
不需要转义,因为字符串被括在双引号(“”“”)之间,避免了与单引号(
)的任何冲突。

尝试了
unescape()
?尝试了unescape吗?unescape()的可能副本已过时。它已经被decodeURI所取代,所以我尝试了
$('#address').val(decodeURI('')
但是它不起作用了tried
unescape()
?你试过unescape吗?unescape()的可能副本已过时。它已经被decodeURI所取代,所以我尝试了
$('#address').val(decodeURI('')但它不工作,尽管它工作!如果没有j,my js.erb甚至不会加载,警报也不会弹出。j代表什么?@LRP检查更新的答案以澄清您的问题。明白了。感谢您花时间澄清。它很有效!如果没有j,my js.erb甚至不会加载,警报也不会弹出。j代表什么?@LRP检查更新的答案以澄清您的问题。明白了。感谢您花时间澄清。
alert("<%= @sellsy_address.address.html_safe %>");

//generated code:
alert("7 rue la Tour d'Auvergne");