页表格后不刷新的submited
问题描述:
我必须通过POST表单提交。我提交表单,并且一切都很好,但是如果我尝试重新加载表单提交后的新页面,我会看到“您要重发数据”消息(FireFox)。它也可能发生在其他浏览器中,但我不确定。页表格后不刷新的submited
答
您可以从形式让你的数据,如在此之后使用JavaScript重装:
<script > window.location.reload(1);</script>
还是我的建议对你正在使用AJAX来发送数据,然后重新加载页面就像这样:
$("#form").submit(function(e) {
var url = "yourURL";
$.ajax({
type: "POST",
url: url,
data: $("#form").serialize(),
success: function(data){
window.location.href = url;
},
beforeSend: function() {
$('#loader').show();
$('#button').hide();
},
error: function (request, status, error) {
alert(request.responseText);
}
});
e.preventDefault();
});
此片段将数据发送到您的网址,并在成功获取数据后将网页重新加载到您的网址,该网址可能是您现有的网址。
通过这样做,你的浏览器不显示重新发送数据警报。
答
从我明白了什么(纠正我,如果我错了)您发布表单数据在同一页面表单,所以当您刷新它问你是否要重新发送数据。
这是在现代浏览器中一个共同的特点,让您重新发送POST数据到一个页面。你应该防止这样做,以免人们不要两次提交表单。您可以通过创建一个用于处理数据的新页面并将其处理后重定向到您想要的页面来实现此目的。
form.php --[POST DATA]--> process.php (redirect) ---> form.php
这将发送用户进程页和处理表单数据,一旦完成重定向他们回到表单页面。在用户方面,他们因为重定向而不会看到进程页面。
好了,所以这里有什么实际问题? – Takarii