javascript在重定向期间缺少url参数

时间:2017-01-18 18:07:31

标签: javascript php

我的网站有一个国家/地区的选项,因为不同国家/地区的网站布局不同。它是在会话的基础上运行的,如果没有设置会话,用户将被重定向到索引以选择一个国家,然后将从他最初来自的页面重定向。这是代码

我的session_check_client.php文件,包含在除索引

之外的每个文件中
<?php
session_start();
if(!isset($_SESSION['country']))
{
    $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
    header("location:index.php?return_uri=$actual_link");
}
?>

现在发生的事情是,当我回到主页时,我想检查这个请求是否有一些返回参数,或者只是用户第一次访问了他的网站。我显示代码的两个国家有两个按钮。

function canada(){
    $.ajax({
        type: 'post',
        url: 'ajax_country.php?country=canada',
        success: function (data) {
            var $_GET = <?php echo json_encode($_GET);?>;
            if($_GET){
            //window.location.href=$_GET['return_uri'];
            alert($_GET['return_uri']);
            }
            else {
                window.location.href = "home.php";
            }
        }
    });
}
function us(){
    $.ajax({
        type: 'post',
        url: 'ajax_country.php?country=us',
        success: function (data) {
            var $_GET = <?php echo json_encode($_GET);?>;
            if($_GET){
                //window.location.href=$_GET['return_uri'];
                alert($_GET['return_uri']);
            }
            else {
                window.location.href = "home.php";
            }
        }
    });
}

现在问题是当我警告$_GET['return_uri']的价值时,它给了我一个假值

例如我的return_uri值为http://localhost/interfold/products2.php?category=Aprons&id=57725599688它实际上在索引页面的return_uri中显示了整个值,如http://localhost/interfold/products2.php?category=Aprons&id=57725599688但是当使用javascript获取url值时,它只给我{{1}的值它缺少$和之后的部分!!!有什么建议吗?

1 个答案:

答案 0 :(得分:0)

由于您只使用超全局变量,因此可以直接在您描述的函数上打印JS变量:

var actual_link = "<?php echo "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; ?>";

function postCountry( country ){
    $.ajax({
        type: 'post',
        url: 'ajax_country.php?country=' + country,
        success: function (data) {
            if(actual_link){
                //window.location.href=actual_link;
                alert(actual_link);
            }
            else {
                window.location.href = "home.php";
            }
        }
    });
}

postCountry('us');
postCountry('canada');