当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何使用JQuery获取GET和POST变量?》经验,为你挑选了4个好方法。

我如何简单地获取GETPOST使用JQuery?

我想做的是这样的:

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

Ates Goral.. 167

对于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格式的对象序列化为

当你在它(在服务器端做事)时,你也可以在PHP上收集GET参数:

var $_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);

你的提取方法不考虑没有值的参数("?foo&bar = baz"=> {foo:"",bar:"baz"}). (3认同)


Leandro Ardi.. 16

有一个jQuery插件可以获得名为.getUrlParams的 GET参数

对于POST,唯一的解决方案是使用PHP将POST回显到javascript变量,就像Moran建议的那样.



1> Ates Goral..:

对于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格式的对象序列化为

当你在它(在服务器端做事)时,你也可以在PHP上收集GET参数:

var $_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);


你的提取方法不考虑没有值的参数("?foo&bar = baz"=> {foo:"",bar:"baz"}).

2> Leandro Ardi..:

有一个jQuery插件可以获得名为.getUrlParams的 GET参数

对于POST,唯一的解决方案是使用PHP将POST回显到javascript变量,就像Moran建议的那样.



3> tony gil..:

为什么不使用好的旧PHP?例如,假设我们收到一个GET参数'target':

function getTarget() {
    var targetParam = "";
    //alert(targetParam);
}


因为这是服务器端解决方案,而且问题是关于客户端/ javascript/jQuery端.

4> 小智..:

或者你可以使用这个http://plugins.jquery.com/project/parseQuery,它比大多数(缩小449字节)小,返回一个表示名称 - 值对的对象.

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有