用javascript抓取POST值

grabbing POST values with javascript

本文关键字:POST 抓取 javascript      更新时间:2023-09-26

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

我想做什么:

step1.php——form POST to 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>

但是我觉得有点脏。

有更好的方法吗?或者这真的是我应该做的?

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

您可以通过将自定义数组传递给json_encode来明显地更改它以仅包含$_POST中的某些字段。

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

没有更好的方法来做到这一点-使用json_encode确保无论POST变量中包含什么都不会中断(至少在赋值期间不会中断)。

这是你应该怎么做, JavaScript不能以另一种方式访问POST值。

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

POST值正在被发送到服务器。一旦提交,只有服务器可以处理这些值。您的示例几乎是您必须"访问"在前一个请求中已发送到服务器的POST值的唯一选项。

JS不能访问POST值,它只能检索GET值。然而,既然你使用的是PHP脚本,你可以把数据传递给JS -为什么不给你的JS函数数据JSON格式?您可以使用PHP的json_encode函数将所有POST值编码为JSON,以便在JS代码中轻松使用。

试试这个第二步第二页:

设置页面隐藏文本框:

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

现在如果你使用jQuery编写下面给定的代码

$(document).ready(function() {
var shameful = $('#text1').val();
});

如果不使用jQuery则

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

我希望这是你正在寻找的