PHP标头(';Location:/xyz/';)返回HTML代码,而不是重定向到';xyz/';

PHP标头(';Location:/xyz/';)返回HTML代码,而不是重定向到';xyz/';,php,ajax,header,Php,Ajax,Header,我正在使用ajax向数据库中插入一些数据。如果数据成功插入数据库,我想重定向到另一个页面 这是我的密码: if (DB::insertRegistrationUser($email, $password, $subscribe)) { header('Location: /xyz/'); } 在“网络”选项卡中,我看到页面被请求并以200 OK发送,但当前页面没有重定向到新页面“/xyz/” 我肯定这是件小事,但有人能帮我一下吗。谢谢您必须检测到ajax成功完成

我正在使用ajax向数据库中插入一些数据。如果数据成功插入数据库,我想重定向到另一个页面

这是我的密码:

if (DB::insertRegistrationUser($email, $password, $subscribe)) {
                header('Location: /xyz/');
}
在“网络”选项卡中,我看到页面被请求并以200 OK发送,但当前页面没有重定向到新页面“/xyz/”


我肯定这是件小事,但有人能帮我一下吗。谢谢

您必须检测到ajax成功完成,然后使用javascript在主页上重定向。你不能让php来做。Jquery示例

$.post('/your/url',data,function(returned_url){
    window.location = returned_url;
});
然后在php中:

if (DB::insertRegistrationUser($email, $password, $subscribe)) {
    echo '/xyz/';
    die();
}

您必须检测到ajax成功完成,然后使用javascript在主页上重定向。你不能让php来做。Jquery示例

$.post('/your/url',data,function(returned_url){
    window.location = returned_url;
});
然后在php中:

if (DB::insertRegistrationUser($email, $password, $subscribe)) {
    echo '/xyz/';
    die();
}
  • 标题是php,是服务器端编码
  • ajax是javascript,是客户端编码
您可以通过header语句将服务器代码更改为

或者更改客户端代码,使其具有类似javascripty的内容(而不是header语句)-例如:

  • 标题是php,是服务器端编码
  • ajax是javascript,是客户端编码
您可以通过header语句将服务器代码更改为

或者更改客户端代码,使其具有类似javascripty的内容(而不是header语句)-例如:


您必须检测到ajax成功完成,然后使用js在主页上重定向。你不能让php来做,“当前页面”。。。请求重定向的那个?如果标题正常工作,则会得到301代码。从AJAX调用返回true/false,然后使用JS将当前window.location更改为您选择的url。您必须检测到AJAX成功完成,然后使用JS在主页上重定向。你不能让php来做,“当前页面”。。。请求重定向的那个?如果标题起作用,则会得到301代码。从AJAX调用返回true/false,然后使用JS将当前window.location更改为您选择的url。