从URL中提取GET值有问题,不确定我做错了什么


Having issues pulling a GET value from a URL, Not sure what I'm doing wrong

我正在为内部使用的链接免责声明页面工作,并且我遇到的问题之一是将传出URL放入页面上的链接。下面的代码是我用来获取我需要的GET值并在解码后将其放入链接的href属性中的代码。代码的另一半使用内置的Javascript encodeURIComponent()函数,因此,除非我可以使用PHP解码函数,或者如果有一种非常简单的方法可以使用Javascript获取我需要的GET值,否则我将使用PHP将其放在服务器端的Javascript中。我知道它可以工作,它只需要几行PHP代码来获取和验证我需要的内容。

也就是说,代码在下面,我也会提供一个链接到这个页面,这样你就可以看到发生了什么。

jQuery(".btn-continue").attr("href") = "'"" + decodeURIComponent(
    <?php 
        if(isset($_GET["outlink"])){
            echo $_GET["outlink"];
        }else{
            echo "/";
        }
    ?>
);

这是一个有代码的页面:http://radboxstudio.com/you-are-now-leaving-radboxstudio-com.html?outlink=http://google.com/

点击本页第一个指向Google的链接,您将进入上面的页面:http://radboxstudio.com/

有一点Javascript应该编码链接的href并使用get传递它。我在下面包含了相关的代码,以防我搞砸了。currentDomain是在较早的代码中定义的,我知道它可以正常工作。

$('a').each(function() {
        var $a  = jQuery(this);
        if ($a.get(0).hostname && getDomain($a.get(0).hostname) != currentDomain) {
            $a.click(function(event) {
                if (!confirmed) {
                    event.preventDefault();
                    event.stopPropagation();
                    var url = encodeURIComponent($a.get(0));
                    window.location = "http://radboxstudio.com/index.php?option=com_content&view=article&id=10&outlink=" + url; 
                }
            });
        }
});

要使用jquery的attr()函数设置href的值,您应该像这样使用它:

$("selector").attr("href", "value_you_want");

查看jquery api: http://api.jquery.com/attr/

结果是PHP为我做了这项工作。下面的代码可以工作。

<?php if(isset($_GET["outlink"])){
    $outlink = $_GET["outlink"];
}else{
    $outlink = "/";
}
?>
<a href="<?php echo $outlink;?>">Linky</a>
对不起,给你添麻烦了。: D