如何避免浏览器表单重新提交警报?
这个问题似乎已在SO上进行了很多讨论,例如:
我从前面的讨论中得不到的是我如何使用发布的数据并将其合并到html中。前面的链接讨论了如何使用php头函数向自己发送get
请求。但是当发送此get
请求时,发布的数据将不再可用于新页面,(因为我们无法使用php post方法..)
我想在不使用php
或javascript
会话存储技术(或将发布的数据保存到临时mySQL数据库)的情况下执行此操作。
举个简单的例子:
<html>
<body>
<form action="post.php" method="post">
User name: <input type="text" name="user"><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
其中post.php
是:
<html>
<body>
<?php
echo "<p>".$_POST['user']."</p>";
?>
</body>
</html>
在第二页的Google Chrome中按 CTRL-R 会显示警告。
答案 0 :(得分:2)
从post.php
进行重定向。将数据保存在会话或数据库中,并从重定向页面检索。
示例场景:
$id
header('Location: result.php?user_id='.$id);
答案 1 :(得分:1)
使用此:
<script>
if(window.history.replaceState)
{
window.history.replaceState(null,null,window.location.href);
}
</script>
答案 2 :(得分:0)