检索通过JQuery .load()发送的URL参数

时间:2014-12-13 19:02:26

标签: javascript jquery ajax parameters

我不确定我尝试做的事情是否可能,或者我是否正确地做到了这一点。在某些情况下,我希望他们将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是什么?

提前感谢您的帮助。

1 个答案:

答案 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功能。我可能从一开始就变得更加困难,但希望将来可以帮助其他人。