这是在提交表单后运行的内容:
else
{
echo '<br/> Tu chisme se agregó con éxito.';
echo '<script type="text/javascript">window.location.reload(true);</script>';
}
基本上,在用户提交表单后,它会执行一些操作,最后显示一条文本,说明帖子已成功提交,然后第二个echo尝试重新加载页面。但是我无法使它工作。它显示文本但不重新加载页面。代码有什么问题?请询问任何信息。感谢
答案 0 :(得分:2)
POST后正确的做法是“发布后重定向”,这意味着发送带有303代码的HTTP标头(不是简单的302代码,大多数浏览器会阻止您使用后退按钮重新发布303代码,它是为此目的而完成的。)
在发送此HTTP标头代码之前,您不应该发送任何内容(尝试使用ob_start
/ ob_flush
函数来控制它。)
所以,实际上,HTTP协议包含了在POST请求之后控制行为所需的一切,最好避免使用JavaScript。
答案 1 :(得分:0)
window.location.reload();
请参阅此链接
http://programming.top54u.com/Samples/Javascript/Location-Object/Location-Reload/Default.aspx
答案 2 :(得分:0)
当您的脚本使用“text / javascript”打印出该行时,它已经是一个新页面。你正在重新加载那个重新加载自己的新页面。如果要将访问者定向到原始页面,可以使用PHP的header
:
header("Location: http://www.example.com/");
用目标网址替换example.com。它只有在页面上没有其他内容输出时才有效,所以你必须摆脱那一行文字。