为什么javascript不显示警报?

为什么javascript不显示警报?,javascript,php,Javascript,Php,我是初学者。 我不明白为什么在我使用header语句时没有弹出警报,但是当我删除header位置行时,警报会很好地弹出。真糊涂:( 像这样回显: echo "<script>alert('message sent'); window.location.href='url';</script>"; echo“警报('messagesent');window.location.href='url';”; 像这样回显: echo "<script>alert('m

我是初学者。 我不明白为什么在我使用header语句时没有弹出警报,但是当我删除header位置行时,警报会很好地弹出。真糊涂:(

像这样回显:

echo "<script>alert('message sent'); window.location.href='url';</script>";
echo“警报('messagesent');window.location.href='url';”;
像这样回显:

echo "<script>alert('message sent'); window.location.href='url';</script>";
echo“警报('messagesent');window.location.href='url';”;

问题是在任何输出之前都需要发送
标题()
,以便将页面重定向到另一个URL。那时,您已经在回显内容,因此通过标题进行重定向无法工作

在这种情况下(您希望弹出一条消息,然后重定向),应该使用javascript重定向:

echo '<script language="javascript">';
echo 'window.location.replace("/index.php?registered=true");';
echo '</script>';

如果你这样做,不要在注册页面上包含任何输出(无回音),这样
header()
s就是你唯一的输出。这将是一个理想的用户体验,因为他们在点击一个写着
警报(“消息成功发送”)

的框时没有白色的弹出页面,问题是
header()
需要在任何输出之前发送,以便将页面重定向到另一个URL。此时,您已经在回显内容,因此通过标题重定向无法工作

在这种情况下(您希望弹出一条消息,然后重定向),应该使用javascript重定向:

echo '<script language="javascript">';
echo 'window.location.replace("/index.php?registered=true");';
echo '</script>';

如果您这样做,请不要在注册页面上包含任何输出(无回音),以便
header()
s是您唯一的输出。这将是一种理想的用户体验,因为他们在单击显示
警报(“消息成功发送”)的框时没有白色弹出页面

这是因为在显示JavaScript警报之前,位置标题会重定向到不同的页面


将警报添加到目标页面,它将显示在那里。

这是因为在显示JavaScript警报之前,位置标题会重定向到不同的页面


将警报添加到目标页面,它将显示在那里。

非常感谢,我现在有了更好的理解!这就像一个符咒,谢谢你帮助一个新手:p!非常感谢,我现在有了更好的理解!这就像一个符咒,谢谢你帮助一个新手:p!