请原谅我提出一个看似显而易见的问题,但我所有的搜索都是关于如何使用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>
但这对我来说似乎有点脏。
有更好的方法吗?或者这就是我应该这样做的原因吗?
答案 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;
我希望这就是你要找的东西。