首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用JQuery获取get和POST变量?

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

Stack Overflow用户
提问于 2009-01-13 15:49:29
回答 14查看 279K关注 0票数 97

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

我想做的是这样的:

代码语言:javascript
运行
复制
$('#container-1 > ul').tabs().tabs('select', $_GET('selectedTabIndex'));
EN

回答 14

Stack Overflow用户

回答已采纳

发布于 2009-01-13 16:08:46

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

代码语言:javascript
运行
复制
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参数,您可以将JSON格式的$_POST对象序列化为<script>标记:

代码语言:javascript
运行
复制
<script type="text/javascript">
var $_POST = <?php echo json_encode($_POST); ?>;

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

在此期间(在服务器端执行操作),您可能还会收集PHP上的GET参数:

代码语言:javascript
运行
复制
var $_GET = <?php echo json_encode($_GET); ?>;

注意:要使用内置的json_encode函数,需要PHP5或更高版本。

更新:这里有一个更通用的实现:

代码语言:javascript
运行
复制
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);
票数 175
EN

Stack Overflow用户

发布于 2009-01-13 16:08:47

有一个名为.getUrlParams的jQuery插件用于获取参数

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

票数 16
EN

Stack Overflow用户

发布于 2012-06-23 04:35:02

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

代码语言:javascript
运行
复制
function getTarget() {
    var targetParam = "<?php  echo $_GET['target'];  ?>";
    //alert(targetParam);
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/439463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档