小编典典

如何使用jQuery获取GET和POST变量?

javascript

如何简单地通过JQuery 获取GETPOST值?

我想做的是这样的:

$('#container-1 > ul').tabs().tabs('select', $_GET('selectedTabIndex'));

阅读 722

收藏
2020-04-25

共1个答案

小编典典

对于GET参数,您可以从中获取它们document.location.search

var $_GET = {};

document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
    function decode(s) {
        return decodeURIComponent(s.split("+").join(" "));
    }

    $_GET[decode(arguments[1])] = decode(arguments[2]);
});

document.write($_GET["test"]);

对于POST参数,您可以将$_POSTJSON格式的对象序列化为<script>标记:

<script type="text/javascript">
var $_POST = <?php echo json_encode($_POST); ?>;

document.write($_POST["test"]);
</script>

在进行此操作(在服务器端执行操作)时,也可以在PHP上收集GET参数:

var $_GET = <?php echo json_encode($_GET); ?>;

注意: 您需要PHP 5或更高版本才能使用内置json_encode功能。


更新: 这是一个更通用的实现:

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);
2020-04-25