避免页面刷新时使用jQuery重新提交表单
答
成功提交表单后,执行重定向。哪里去哪都没关系,但它会清除$ _POST。
header('Location: http://www.example.com/form.php');
对你来说,这听起来像你想重定向到你已经在页面上。如果要显示确认消息,请在URL中追加$ _GET参数。
这将阻止用户重新加载页面时表单重新提交。
答
如果您将jQuery添加到组合中,那么没有javascript的人将无法再使用您的表单。你最好的解决方案的确是确保表单不能在你的后端发送两次。
答
POST重定向GET。
+0
尽管此链接可能会回答问题,但最好在此处包含答案的重要部分,并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 – LaGrandMere 2014-05-12 15:26:32
答
我假设你正在寻找一个按钮刷新页面而不重发的形式,使他们能够与新的信息发送另一个?
IE:提交联系表格。 现在你想“发送另一个”,所以你需要重新加载页面,再次呈现表单。
您可以使用jQuery函数来重新加载页面而不是刷新。只需创建一个刷新功能,将“重定向”页面到同一页面。使用jQuery
var reloadPage = window.location.href;
$('#[button]).on('click',function(){
window.location.replace(reloadPage);
});
随着PHP
PHP代码来获取页面
如果
<?php
$url = (!empty($_SERVER['HTTPS'])) ? 'https://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
?>
jQuery的重定向
<script type="text/javascript">
$(document).ready(function(e){
$('#[button]).on('click',function(){
window.location.replace('<?php echo $url;?>');
});
});
我以前不知道是否还有真没有JS的用户支持。我决定不用担心这些,并增加了很多JS功能。不幸的是,如果他们不支持JS,他们在我的页面上不会太远。我想我选择了一些为了许多人的利益而倒闭。 :) – santa 2011-04-18 15:16:33
的确如此,但我坚持这个规则,因为当我遇到这样的问题时,我通常比我的前端更好地重构自己的逻辑。 – 2011-04-18 15:18:43