我正在使用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();
}
- 标头是 PHP 是服务器端编码
- Ajax 是 JavaScript 是客户端编码
要么通过标头语句更改服务器代码
或者你更改了你的客户端代码,在那里有一些像javascripty的东西(而不是header语句) - 例如:
window.location.href="/xyz/";