如何解决为什么逻辑不字符¬出现在HTTP GET查询字符串中
以下HTML演示了我的问题-当我将鼠标悬停在链接上或单击它时,¬
在Chrome中变成%AC,在Firefox中变成¬,使查询变得毫无意义。这种行为对我来说没有任何意义,而且我也没有在任何文档中找到它的描述,尽管除了关于URL的RFC以外,我实际上并不知道在哪里查找。
<html>
<body>
<p><a href="http://localhost/?truth=falsehood¬_broken=broken">foo</a></p>
</body>
</html>
上下文是,我有一些JavaScript可以根据服务器的响应生成HTTP GET参数,以显示在链接URL中。如果这些参数之一的字段以not_
开头,而¬_
出现在查询字符串中,则Chrome和Firefox似乎都将¬
转换为¬(“ not”的符号(在数学形式逻辑中),如果我使用开发工具检查了URL,然后在Chrome的情况下,当我单击该链接时,涉及到%AC的东西变成废话。大概是因为HTML实体¬
为该符号(U + 00AC)进行了编码,但是查询字符串中没有分号。
我的问题是,为什么浏览器将¬
内的这个字符替换为href
,其中&
的含义不同,即使没有分号,并且还有更好的含义避免在查询字符串中避免使用HTML实体名称的方法。
解决方法
通常,HTML属性中的&字符需要转义为&
。
如果它的用途很明确,您可以不用它而逃脱,但这不是这种情况。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。