用javascript抓取POST值

时间:2011-04-11 13:02:46

标签: php javascript html forms post

请原谅我提出一个看似显而易见的问题,但我所有的搜索都是关于如何使用JS创建POST值的指南,而不是如何抓取(并利用)它们。

我想做什么:

step1.php - 将POST转换为step2.php

step2.php - 也是一个表单,JS抓取一个特定的POST值并做一些工作,然后相应地更新这个新表单

由于不值得进入的原因,该过程需要是一个2步// 2页的过程。

显而易见的解决办法就是做一些事情:

<script type="text/javascript">

    function damn_ugly () {

        var shameful = <?php echo $_POST['desiredDatum']; ?>;
        do more stuff...
    }

</script>

但这对我来说似乎有点脏。

有更好的方法吗?或者这就是我应该这样做的原因吗?

5 个答案:

答案 0 :(得分:4)

var postData = <?php echo json_encode($_POST); ?>;

通过将自定义数组传递给$_POST,您显然可以将其更改为仅包含json_encode中的某些字段。

var desiredDatum = <?php echo json_encode($_POST['desiredDatum']); ?>;

没有更好的方法 - 并且使用json_encode确保无论POST变量中包含什么都不会中断(至少在分配期间不会)。

答案 1 :(得分:2)

你应该怎么做,JavaScript无法以其他方式访问POST值。

当然你可以让它变得更漂亮:让你的php脚本将POST变量放在一个数组中,然后以 JSON格式打印数组。现在你的javascript已经有了数组。

答案 2 :(得分:1)

POST值正在发送到服务器。提交后,只有服务器可以使用这些值。您的示例几乎是您必须“访问”上一个请求中已发送到服务器的POST值的唯一选项。

答案 3 :(得分:0)

JS无法访问POST值,它只能检索GET值。但是,由于您正在使用PHP脚本并且能够将数据传递给JS - 为什么不以JSON格式提供JS函数数据?您可以使用PHP的json_encode函数将所有POST值编码为JSON,然后您可以在JS代码中轻松使用它。

答案 4 :(得分:0)

试试这个 第二步第2页:

在页面上设置隐藏文本框:

<input type='hidden' name='text1' id = 'text1' value='<?php echo $_POST['desiredDatum']; ?>' />

现在如果你使用jQuery下面给出代码的wirite

$(document).ready(function() {

var shameful = $('#text1').val();

});

如果不使用jQuery那么

var shameful = document.getElementById('text1').value;

我希望这就是你要找的东西。