带有标头的Java脚本重定向


Java script redirect with header

让我尽我所能解释

我的login.php中有以下代码:

if(isset($_SESSION['user'])!="")
{
header("Location: home.php");
}

这确保了如果用户成功登录,url将始终在所有页面上显示mysite.com/home.php,这对于使用href="another_page"的所有php重定向都很好。

然而,这对于使用window.top.location.href="another_page"的javascript重定向不起作用,而是使用完整的url名称(例如:mysite.com/java_redirected_page)而不是mysite.com/home.php进行重定向。如何让javascript重定向也能像php一样使用头。

使用此-window.location.href = 'home.php';而不是window.top.location.href = 'home.php';

JavaScript是客户端解释器,它不能更改服务器上的头,而PHP则从web服务器(如Apache或nginx)生成响应。

因此,答案是您无法更改javascript重定向的方式。

看起来你希望你的url有一个好的结果,我唯一能想到的就是MVC。

从没听说过?阅读此链接http://code.tutsplus.com/tutorials/mvc-for-noobs--net-10488

这只是一个很好的方式来分离你的后端和前端,这样你的重定向会很好地工作。

可悲的是,你必须重新思考你的整个页面,这非常耗时,因为你必须重组所有内容。

希望它能帮助