gpt4 book ai didi

javascript - DecodeURIComponent 未从数据属性中解码字符串

转载 作者:行者123 更新时间:2023-11-28 21:10:03 26 4
gpt4 key购买 nike

我在解码转义的 JavaScript 字符串时遇到了一个奇怪的问题。

这是测试代码,从数据属性获取转义字符串不起作用,它只是原始打印出来。第二个示例运行良好。

var emailText = $('#emaildata').data('email-text');
var unescapedEmailText = decodeURIComponent(emailText);
alert(unescapedEmailText);

var emailText2 = "Blah blah edit blah foo\x27\x0a\x0a\x0a\x27\x27\x27";
var unescapedEmailText2 = decodeURIComponent(emailText2);
alert(unescapedEmailText2);

这是一个 jsfiddle,显示了损坏的功能。 http://jsfiddle.net/wnegH/2/

我确信我在做一些愚蠢的事情,但我无法理解......

最佳答案

您在 data-email-text 属性中放入的内容不是 JavaScript 字符串。因此,在其中使用 \x27 只是表示 \x27 字符串按原样,而不是相应的 ASCII 字符。

这是an example如何达到预期效果:

<div id="emaildata" data-email-text="Blah%20blah%20edit%20blah%20foo'%0A%0A%0A'''"></div>

然后:

var emailText = $('#emaildata').data('email-text');
var unescapedEmailText = decodeURIComponent(emailText);
alert(unescapedEmailText);

显然,我在 data-email-text 属性中使用的字符串是通过对目标字符串调用 encodeURIComponent 函数获得的。

关于javascript - DecodeURIComponent 未从数据属性中解码字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8948315/

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