【发布时间】:2021-07-16 20:48:22
【问题描述】:
用户填写输入字段并提交后,我使用 ajax 请求完成注册过程。在此 register.php 中,我想在将用户信息插入数据库后将用户重定向到另一个页面。一切都很好,直到 header() 函数才输出任何内容。下面的代码没有重定向,好像什么也没发生一样处理ajax请求的回调函数。我真的被困在这里,我不知道该怎么办。我可以尝试 javascript 解决方案,但我更喜欢 php 解决方案。 代码:
header("Location: http://localhost/profil.php", true, 307);
exit();
【问题讨论】:
-
只有一个问题:如果您打算在操作后重定向到另一个页面,为什么要使用 AJAX(让用户留在当前页面)?
-
这是个好问题。这可能很奇怪,但如果用户注册为学生,我不使用 header() 并且只更新索引页面。但是,如果用户已注册为教师,我想将他们重定向到他们的个人资料页面。这是它变得复杂的地方,学生部分工作得很好。但是由于 header() 不起作用,我无法将教师重定向到他们的个人资料页面。
-
我明白了。如果在学生登录时不要重新加载页面很重要,请参阅the JS solution。否则,如果您不介意页面刷新,您可以将登录表单发布到索引,如果用户是教师,则可以在处理表单提交时选择重定向。
-
在您的 Javascript 中重定向,在您获得成功响应后