0

我正在将谷歌地图与我的移动网站集成。每当我将地址传递给包含“#”的网址时,它都会显示“#”出现之前的地址

示例:如果地址是 test1#test2 并且我将其传递给 google url,则在地图中它会显示 test1。

我使用的 URL 是“http://maps.google.com/maps?daddr=" + add" 其中 add 是变量

4

1 回答 1

1

哈希 (#) 是 URI(a/k/a URL)中的特定标记。这意味着您正在寻找页面的一部分而不是整个资源。通常,当您需要包含会导致解析 URL 时出现问题的令牌(例如“$”或“/”)时,您应该“URI 编码”该令牌。这会产生类似%20(空格)或%2F(“/”)的结果。您可能只需要将您的哈希 URI 编码为%23.

您可能应该对要发送的整个地址进行 URI 编码,而不仅仅是哈希。这样做有很多选择。JavaScript 甚至有一个可以完成这项工作的内置函数(encodeURIComponent())。

于 2012-09-05T19:36:44.467 回答