0

我正在使用 jQuery 获取导航文件的内容并将其加载到我页面一部分的 div 中。

我为它提供了一个包含页面名称的值,以便我可以更新导航上的“活动”类。

这是我用来显示 GET 信息的代码,它完美地工作,因为当我从浏览器传递一个变量(即 header.html?page=foo)时它工作得很好。

<script>
    function getQueryParams(qs) {
        qs = qs.split("+").join(" ");
        var params = {},
            tokens,
            re = /[?&]?([^=]+)=([^&]*)/g;
        while (tokens = re.exec(qs)) {
            params[decodeURIComponent(tokens[1])]
                = decodeURIComponent(tokens[2]);
        }
        return params;
    }
    var $_GET = getQueryParams(document.location.search);
    alert($_GET["page"]);
</script>

正如您目前所看到的,它只显示带有该值的警报。

当我调用这个页面时,它很简单:

<script>
   $("#header").load("header.html?page=bar");
</script> 

对于我的一生,我无法理解为什么从 .load 调用它时它会以“未定义”的形式返回,因为我之前已经多次使用 GET 变量。

任何输入将不胜感激,

克里斯。

4

1 回答 1

0

当 Javascript 由 运行时.loaddocument是原始文档,而不是正在加载的页面。

要将参数传递给正在加载的脚本,请使用全局变量。

于 2013-04-16T15:31:25.833 回答