我正在使用jQuery来获取导航文件的内容并将其加载到我页面的一部分div中。
我正在为它提供一个包含页面名称的值,以便我可以更新导航上的“active”类。
这是我用来显示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调用时返回为“undefined”,因为我之前已经多次使用过GET变量。
非常感谢任何输入,
克里斯。
答案 0 :(得分:0)
当.load
运行Javascript时,document
是原始文档,而不是正在加载的页面。
要将参数传递给正在加载的脚本,请使用全局变量。