IE 在每次 AJAX 调用中将编码值添加到encodeURIComponent

发布于 2024-10-14 17:51:57 字数 478 浏览 1 评论 0原文

我通过 AJAX 请求传递一个值,例如“Cats & Dogs”。

我将 encodeURIComponent 应用于如下值: encodeURIComponent("Cats & Dogs");

然后,我将浏览器哈希设置为该值以进行 AJAX 书签。它在 Firefox 中运行良好 - 在哈希中它显示为 #value=Cats %26 Dogs,但是在 IE 中它显示为 Cats%20%26%20Dogs,这当我尝试读取哈希值并在 AJAX 调用中重新发送它时,会出现问题,IE 不断添加更多编码值,因此之前的值变为 Cats%2520%2526%2520Dogs ,然后变为 Cats% 2520%2526%2520Dogs 等等...

这在 Firefox 中不会发生。

我怎样才能克服这个问题?

I am passing a value for example "Cats & Dogs" through a AJAX request.

I am applying encodeURIComponent to the value like: encodeURIComponent("Cats & Dogs");

Then I set the browser hash to this value for AJAX bookmarking. It works well in Firefox - in the the hash it appears as #value=Cats %26 Dogs, however in IE it appears as Cats%20%26%20Dogs, this causes a problem when I attempt to read the hash and resend it in a AJAX call, IE keeps adding more encoded values so the previous value becomes Cats%2520%2526%2520Dogs and then Cats%2520%2526%2520Dogs and so on...

This does not occur in Firefox.

How can I overcome this issue?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

固执像三岁 2024-10-21 17:51:57

没关系,我发现了我的问题。在将编码值设置为哈希之前,我没有对其进行解码。

Nevermind, I found my problem. I was not decoding the encoded value before setting it as the hash.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文