我正在通过JavaScript触发页面重新加载,使用以下代码:
window.location.reload(true);
然而,在某些情况下(之前的postback),浏览器会给出以下警告:“要重新显示网页,Web浏览器需要重新发送您先前提交的信息...”。
有没有办法避免这个消息,直接进行postback,因为这可能会让用户感到困惑?如果我需要通过其他方式重新加载页面,那就这样吧。
我正在通过JavaScript触发页面重新加载,使用以下代码:
window.location.reload(true);
然而,在某些情况下(之前的postback),浏览器会给出以下警告:“要重新显示网页,Web浏览器需要重新发送您先前提交的信息...”。
有没有办法避免这个消息,直接进行postback,因为这可能会让用户感到困惑?如果我需要通过其他方式重新加载页面,那就这样吧。
如果您想刷新页面而不包括POST数据,而不仅仅是后退,请尝试
window.location = window.location.href;
唯一的方法是阻止其重新POST参数。使用window.location = window.location
POST
请求,因此会出现警告。您可以确保只重新加载通过GET
请求获取的资源,或者 - 或者通过POST
方法提交隐藏的<form>
(从而模拟重新加载,保证不被缓存)。GET
(以及其他一些)应该被认为是幂等的,而POST
请求允许对服务器进行更改。因此,客户端应提示用户确认是否再次执行操作。我认为在重新加载时,没有办法进行postback而不带消息。
顺便问一下,重新加载是为了什么?如果是为了再次提交POST信息,我建议您通过ajax或使用javascript进行隐藏表单提交手动提交数据。
之后:
mysql_query("insert into table (id_item, quantity, cost) values($m, '$amount', '$cost')");
放置:
header("Location: index.php");
然后使用jQuery重新加载页面,您就不会收到“...网络浏览器需要重新发送信息...”的警告。