gpt4 book ai didi

javascript - 字符 "d' "becoming "d'”显示时

转载 作者:行者123 更新时间:2023-12-01 03:24:06 25 4
gpt4 key购买 nike

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

但是当我将它提供给我的 View 中的输入时,甚至只是像这样显示它时

get_adress.js.erb

alert('<%= @sellsy_address.address %>')
$('#address').val('<%= @sellsy_address.address unless @sellsy_address.blank? %>');

我得到了这个7 rue la Tour d'Auvergne

有什么想法可以让 d' 保持原样吗?我尝试用不同的方式对其进行编码或解码,但没有结果。

提前致谢

编辑

如果我使用 html_safe 的 raw,我的 js.erb 将不再加载

最佳答案

尝试将 html_safeescape_javascript(或 j)一起使用,如下所示:

alert('<%= j @sellsy_address.address.html_safe %>');

或者,您可以跳过 j 但将单引号更改为双引号,如下所示:

alert("<%= @sellsy_address.address.html_safe %>");

If I use raw of html_safe, my js.erb just does not load at all anymore

这是因为,由于 7 rue la Tour d'Auvergne 中的 ' 位于单引号内,因此出现语法错误。检查以下示例;

单引号,不含 escape_javascript(或 j)

alert('<%= @sellsy_address.address.html_safe %>');

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

如您所见,警报获取字符串 '7 rue la Tour d',然后需要一个右括号 ()),因此您会收到错误不显示任何警报。

单引号,带有 escape_javascript(或 j)

alert('<%= j @sellsy_address.address.html_safe %>');

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

现在 ' 已被转义,不再是结束引号,因此警报可以正确显示。

双引号,不带 escape_javascript(或 j)

alert("<%= @sellsy_address.address.html_safe %>");

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

这次 ' 不需要转义,因为字符串用双引号 ('""') 括起来,这样可以避免与单引号 (') 发生任何冲突。

关于javascript - 字符 "d' "becoming "d'”显示时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44954832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com