我在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>";
}
?>
它正在从数据库中删除数据,但不显示警报。告诉我如何使它正常工作。
执行此
<script> alert('Deleted successfully!');window.location='students_list.php'</script>
像这样,当警报关闭时,您可以重定向。
您首先尝试显示警报:
echo "<script> alert('Deleted successfully!');</script>";
然后发布HTTP重定向:
$myURL = 'students_list.php';
header('Location: '.$myURL);
由于HTTP重定向的工作方式,这些功能是不兼容的:
如果您启用了输出缓冲,将生成重定向响应(HTTP 302),并将您的警报脚本作为主体。。。然而,重定向的主体被支持它们的浏览器忽略(即,除了没有
-L
选项的curl
之外的所有重定向)。如果您没有启用输出缓冲,脚本将输出警报的JS代码,但无法再输出重定向,因为此时HTTP标头已经发出。根据设置,客户端浏览器中将显示警告。
一个可能的解决方案是不发出重定向并使用JavaScript重定向客户端,类似于:
echo "<script>'nalert('Deleted successfully!');'n";
echo "location = 'students_list.php';</script>";
exit;
检查一下,它可以完美地工作
<?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>";
}
?>