gpt4 book ai didi

java - Hash(#) 在查询字符串中的行为是什么

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:11:50 26 4
gpt4 key购买 nike

我正在发送以下带有查询字符串的 url。在查询字符串一个参数 “approverCmt”具有哈希值 (#)。

    "/abc/efd/xyz.jas?approverCmt=Transaction Log #459505&batchNm=XS_10APR2015_082224&mfrNm=Timberland"

在服务器端,当我试图从我收到的请求中检索它时

    approverCmt = Transaction Log  -----> "#459505" is missing
batchNm = null
mfrNm = null

如果我从查询字符串中删除散列 (#) 或者如果我将 # 替换为 %23 一切正常

我不明白为什么如果另一个参数包含井号 (#) 符号,我会得到一个参数的 null。

如果有人能解释一下,我们将不胜感激。

最佳答案

这被称为“片段标识符”。

wikipedia 中所述:

The fragment identifier introduced by a hash mark # is the optional last part of a URL for a document. It is typically used to identify a portion of that document.

# 之后的部分是客户端 的信息。它不会发送到服务器。将浏览器所需的一切都放在这里。

您可以使用 JavaScript 中的 encodeURIComponent() 函数对 URL 中的特殊字符进行编码,以便将 # 字符转换为您可以确定的其他字符您的整个 URL 将被发送到服务器。

关于java - Hash(#) 在查询字符串中的行为是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29841137/

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