我在我的php页面中使用javascript显示警报。它没有显示警告框。 Kinldy指导我如何使其正常工作
if($sql && $sql2 && $sql3)
{
echo "<script> alert('Deleted successfully!');</script>";
$myURL = 'students_list.php';
header('Location: '.$myURL);
exit;
else
{
echo "<script> alert('Temporary problem, try again!');</script>";
}
?>
它正在从数据库中删除数据但未显示警报。告诉我如何让它正常工作。
答案 0 :(得分:2)
您首先尝试显示提醒:
echo "<script> alert('Deleted successfully!');</script>";
然后发出HTTP重定向:
$myURL = 'students_list.php';
header('Location: '.$myURL);
由于HTTP重定向的工作方式,这些功能不兼容:
如果启用了输出缓冲,则会生成重定向响应(HTTP 302)以及作为正文的警报脚本...但是支持它们的浏览器会忽略重定向主体(即,所有重定向)它们,例如curl
没有-L
选项的情况除外。
如果您没有启用输出缓冲,脚本将输出警报的JS代码,但无法再输出重定向,因为此时已经发送了HTTP标头。根据设置,将在客户端的浏览器中显示警告。
可能的解决方案是不发布重定向并使用JavaScript重定向客户端,例如:
echo "<script>\nalert('Deleted successfully!');\n";
echo "location = 'students_list.php';</script>";
exit;
答案 1 :(得分:2)
这样做
<script> alert('Deleted successfully!');window.location='students_list.php'</script>
当警报关闭时,会像这样重定向。
答案 2 :(得分:-2)
检查一下它是否完美无缺
<?php
$sql=1;
$sql2=2;
$sql3=3;
if($sql && $sql2 && $sql3)
{
echo "<script> alert('Deleted successfully!');window.location='students_list.php'</script>";
exit;
} else
{
echo "<script> alert('Temporary problem, try again!');</script>";
}
?>