在页面B上生成一个表单,并将所有必需的数据和操作设置为页面C,然后在页面加载时使用Javascript提交表单。您的数据将被发送到C页,而不会给用户带来任何麻烦。
这是唯一的方法。重定向是一个303HTTP标头,您可以阅读,但我将引用其中的一些内容:
可以在不同的URI下找到对请求的响应,并且应该使用该资源上的GET方法来检索。存在此方法主要是为了允许POST激活的脚本的输出将用户代理重定向到所选资源。新URI不能替代原始请求的资源。303响应一定不能被缓存,但是对第二个(重定向的)请求的响应可能是可缓存的。
实现您正在做的事情的唯一方法是使用一个将用户转到页面C的中间页面。以下是有关如何实现此目标的小片段/简单片段:
<form id="myForm" action="Page_C.php" method="post"><?php foreach ($_POST as $a => $b) { echo '<input type="hidden" name="'.htmlentities($a).'" value="'.htmlentities($b).'">'; }?></form><script type="text/javascript"> document.getElementById('myForm').submit();</script>您还应该在noscript标记内使用一个简单的“确认”表单,以确保没有Javascript的用户能够使用您的服务。



