我不确定我尝试做的事情是否可能,或者我是否正确地做到了这一点。在某些情况下,我希望他们将GET参数作为URL的一部分。我希望接收页面能够区分发送加载是否有参数并进行相应调整。
以下是发送负载的内容:
$(document).ready(function () {
$("a").click(function () {
$("div.pageContent").html('');
$("div.pageContent").load($(this).attr('href'));
return false;
});
});
在这种情况下,负载可能有" example.php"或" example.php?key = value"。环顾四周(主要是在这个网站上),我发现了一些似乎很接近的东西,但并没有完全实现。在加载的页面(example.php)中,我有以下内容:
function $_GET(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return "";
else
return results[1];
}
$(document).ready(function () {
var URL = "example2.php";
if ($_GET('key'))
{
URL = "example2.php?key=" + $_GET('key');
URL = URL.split(' ').join('%20');
}
$("div.output").load(URL);
});
如果发送源包含查询字符串,我想将其添加到URL并将其加载到此页面唯一的div中,否则我只想按原样加载它而不使用查询字符串。我遇到的一个大问题(我相信)是因为这是来自一个AJAX调用," window.location.href"不是从JQuery发送的内容,而是从不更改的根页面的URL。有没有办法能够知道第二页第一页中load()发送的完整URL是什么?
提前感谢您的帮助。
答案 0 :(得分:0)
我意识到GET参数正在传递,因为我可以通过php访问它们而没有问题。我不知道我可以将php代码插入到javascript块中,但是一旦我尝试了它,一切都解决了。我的新代码如下所示:
$(document).ready(function () {
var URL = "example2.php";
var myValue = "<?php echo $_GET['key']; ?>";
if (myValue !== "")
{
URL = "example2.php?key=" + myValue;
URL = URL.split(' ').join('%20');
}
$("div.output").load(URL);
});
我能够完全摆脱javascript的GET功能。我可能从一开始就变得更加困难,但希望将来可以帮助其他人。