JavaScript警报无法正常工作

时间:2014-10-09 07:59:45

标签: javascript php

我在我的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>";
}
?>

它正在从数据库中删除数据但未显示警报。告诉我如何让它正常工作。

3 个答案:

答案 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>";
}
?>