对于GET参数,您可以从中获取它们
document.location.search:
var $_GET = {};document.location.search.replace(/??(?:([^=]+)=([^&]*)&?)/g, function () { function depre(s) { return depreURIComponent(s.split("+").join(" ")); } $_GET[depre(arguments[1])] = depre(arguments[2]);});document.write($_GET["test"]);对于POST参数,您可以将
$_POSTJSON格式的对象序列化为
<script>标记:
<script type="text/javascript">var $_POST = <?php echo json_enpre($_POST); ?>;document.write($_POST["test"]);</script>
在进行此操作(在服务器端执行操作)时,也可以在PHP上收集GET参数:
var $_GET = <?php echo json_enpre($_GET); ?>;
注意: 您需要PHP 5或更高版本才能使用内置
json_enpre功能。
更新: 这是一个更通用的实现:
function getQueryParams(qs) { qs = qs.split("+").join(" "); var params = {}, tokens, re = /[?&]?([^=]+)=([^&]*)/g; while (tokens = re.exec(qs)) { params[depreURIComponent(tokens[1])] = depreURIComponent(tokens[2]); } return params;}var $_GET = getQueryParams(document.location.search);


