首页 > 解决方案 > PHP 标头重定向在 Ajax 请求中不起作用

问题描述

用户填写输入字段并提交后,我使用 ajax 请求完成注册过程。在此 register.php 中,我想在将用户信息插入数据库后将用户重定向到另一个页面。一切都很好,直到 header() 函数才输出任何内容。下面的代码没有重定向,好像什么也没发生一样处理ajax请求的回调函数。我真的被困在这里,我不知道该怎么办。我可以尝试 javascript 解决方案,但我更喜欢 php 解决方案。代码:

header("Location: http://localhost/profil.php", true, 307); 
exit();

标签: phpredirectheader

解决方案


您可以在 ajax 成功回调函数中使用 JavaScript 进行重定向:

success: function(data) { 
   window.location.href = 'http://localhost/profil.php';
}

它不能通过 PHP 标头重定向来完成,因为这只会重定向 ajax 调用,而不是原始浏览器窗口。


推荐阅读