Edw*_*uay 94 javascript jquery
我如何简单地获取GET和POST使用JQuery?
我想做的是这样的:
$('#container-1 > ul').tabs().tabs('select', $_GET('selectedTabIndex'));
Run Code Online (Sandbox Code Playgroud)
Ate*_*ral 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"]);
Run Code Online (Sandbox Code Playgroud)
对于POST参数,您可以将$_POSTJSON格式的对象序列化为<script>标记:
<script type="text/javascript">
var $_POST = <?php echo json_encode($_POST); ?>;
document.write($_POST["test"]);
</script>
Run Code Online (Sandbox Code Playgroud)
当你在它(在服务器端做事)时,你也可以在PHP上收集GET参数:
var $_GET = <?php echo json_encode($_GET); ?>;
Run Code Online (Sandbox Code Playgroud)
注意:您需要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);
Run Code Online (Sandbox Code Playgroud)
Lea*_*one 16
有一个jQuery插件可以获得名为.getUrlParams的 GET参数
对于POST,唯一的解决方案是使用PHP将POST回显到javascript变量,就像Moran建议的那样.
为什么不使用好的旧PHP?例如,假设我们收到一个GET参数'target':
function getTarget() {
var targetParam = "<?php echo $_GET['target']; ?>";
//alert(targetParam);
}
Run Code Online (Sandbox Code Playgroud)
把事情简单化
将VARIABLE_KEY替换为变量的键以获取其值
var get_value = window.location.href.match(/(?<=VARIABLE_KEY=)(.*?)[^&]+/)[0];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
267228 次 |
| 最近记录: |