Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript警报无法正常工作_Javascript_Php - Fatal编程技术网

JavaScript警报无法正常工作

JavaScript警报无法正常工作,javascript,php,Javascript,Php,我在php页面中使用javascript显示警报。它没有显示警报框。金尔迪指导我如何使它工作良好 if($sql && $sql2 && $sql3) { echo "<script> alert('Deleted successfully!');</script>"; $myURL = 'students_list.php'; header('Location: '.$myURL);

我在php页面中使用javascript显示警报。它没有显示警报框。金尔迪指导我如何使它工作良好
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>";
}
?>

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

您首先尝试显示警报:

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>";
}
?>
echo "<script> alert('Deleted successfully!');</script>";
由于HTTP重定向的工作方式,这些功能不兼容:

如果您启用了输出缓冲,将生成重定向响应HTTP 302,以及作为正文的警报脚本。。。但是,支持重定向的浏览器忽略了重定向的主体,即所有重定向,例如不带-L选项的curl除外

如果未启用输出缓冲,脚本将输出警报的JS代码,但无法再输出重定向,因为此时已发送HTTP头。根据设置,客户端浏览器中将显示警告

一个可能的解决方案是不发出重定向并使用JavaScript重定向客户端,类似于:

echo "<script>\nalert('Deleted successfully!');\n";
echo "location = 'students_list.php';</script>";
exit;

您首先尝试显示警报:

echo "<script> alert('Deleted successfully!');</script>";
由于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>";
}
?>

检查这个,它工作得很好

<?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>";
}
?>
这样做

<script> alert('Deleted successfully!');window.location='students_list.php'</script>
这样,当警报关闭时,您可以重定向。

执行此操作

<script> alert('Deleted successfully!');window.location='students_list.php'</script>

当警报关闭时,您会这样重定向。

您是要重定向到另一个页面,还是要发送一个包含JavaScript的页面?不能两者都做。我看不到数据库操作。有控制台错误吗?你在源代码中看到了什么?并且你的头将不起作用,因为有输出already检查if条件是否起作用你不关闭if语句}@Quentin我试图在脚本运行时弹出一个警报框,单击ok后重定向到$myurl你是想重定向到另一个页面还是发送一个包含JavaScript的页面?不能两者都做。我看不到数据库操作。有控制台错误吗?你在源代码中看到了什么?并且你的头将不起作用,因为已经有了输出检查如果条件起作用了你不关闭你的if语句}@Quentin我试图在这个脚本运行时弹出一个警报框,单击“确定”后它将重定向到$myURL