如何简单地通过JQuery 获取GET和POST值?
GET
POST
我想做的是这样的:
$('#container-1 > ul').tabs().tabs('select', $_GET('selectedTabIndex'));
对于GET参数,您可以从中获取它们document.location.search:
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>标记:
$_POST
<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功能。
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);