gpt4 book ai didi

javascript - 在 Javascript 中将 URL 作为 GET 参数传递

转载 作者:可可西里 更新时间:2023-11-01 02:20:43 25 4
gpt4 key购买 nike

我正在尝试制作一个使用用户当前 URL 的小书签,有点像使用此 javascript 代码的 tinyURL 小书签

javascript:void(location.href='http://tinyurl.com/create.php?url='+location.href)

所以我复制了同样的东西并做了

javascript:void(location.href='http://mywebsite.com/create.php?url='+location.href)

然后我使用:

$url=$_GET['url']; 

检索它。问题是,如果我访问的 url 中已经包含一些获取样式信息,它就会把一切都搞砸了。

例如,如果我在:

http://www.google.ca/webhp?um=1&hl=en&safe=off

“_GET”代码将 $url 设置为

http://www.google.ca/webhp?um=1

所以我认为 google URL 中的信息搞乱了我所有的 URL 解析,我想我做的事情非常不正确,或者有人对此有一个非常优雅的解决方案。我应该怎么办?请帮忙

最佳答案

URL有指定的格式。 ? 之后的那部分,或者更准确地说是 ?# 之间的部分(如果存在)称为 query string。 .它包含一个键值对列表 - 一个变量名、= 字符和值。变量用&分隔:

key1=value1&key2=value2&key3=value3&key4=value4

您应该转义 location.href,因为它可以包含一些特殊字符,例如 ?&#

要在 JavaScript 中转义字符串,请使用 encodeURIComponent()像这样的功能:

location.href = "http://tinyurl.com/create.php?url=" + encodeURIComponent(location.href)

它将把 & 这样的字符替换成 %26。该字符序列不被视为变量分隔符,因此它将作为变量的值附加。

关于javascript - 在 Javascript 中将 URL 作为 GET 参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3540184/

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