IE 在每次 AJAX 调用中将编码值添加到encodeURIComponent
我通过 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
没关系,我发现了我的问题。在将编码值设置为哈希之前,我没有对其进行解码。
Nevermind, I found my problem. I was not decoding the encoded value before setting it as the hash.