如何在标头重定向之前通过 ajax 从 php 文件中检索信息


How to retrieve information via ajax from php file before a header redirect?

我正在尝试使我的页面更加动态,我有一个从头开始制作的论坛,我现在也在实现javaScript。所有的PHP都完成了。现在,我想在不刷新页面和一些淡入淡出效果的情况下登录用户。

在我的PHP文件中,我有一些验证和标头重定向,基于用户是否输入了错误的密码,错误的用户名或用户是否成功登录。我纠结的是使用AJAX在javaScript中进行一些验证。我知道我无法在标头重定向之前输出任何内容,但是如果我不能,我应该如何从 PHP 文件中检索信息?

if (mysqli_num_rows($result) < 1) {
            //echo 'error_login';
            header('Location:../index.php?error=login&email='.$user_email);
            exit();

这是一个非工作示例,因为输出在标头之前类似于我想要实现的目标。如果用户登录失败,php 文件应该准备一条消息,我可以通过 AJAX 调用检索该消息并用于客户端验证。

有什么想法或提示,我应该如何从这里开始?提前感谢我能得到的所有帮助。

我可以

建议你在开始设计之前接受一些Ajax的教育吗?去那里作为一个好的起点:https://developer.mozilla.org/en-US/docs/AJAX/Getting_Started .这听起来应该不粗鲁,但是当您在开始开发软件之前了解机制时会更好;-)

你不会用Ajax"从PHP中提取"。PHP仍然是服务器端处理,Javascript(Ajax)是客户端。基本上,它只是客户端与服务器通信的一种略有不同的方式 - 并且它始终是客户端启动的。

为了获得你想要实现的目标,你不会重定向客户端,而是通过Ajax传输用户ID/密码,在Ajax中也获得服务器响应。然后,在客户端,您可以将服务器响应合并到网页的结构中,而无需重新加载整个页面或移动到其他 URL。

但在你开始之前,做功课并了解Ajax的全部内容。