我有以下javascript代码:
function like(){
if(loged) {
if(liked) {
likes-=1;
liked = false;
document.getElementById('alike').src = "img/icons/like.png";
} else if(disliked) {
dislikes-=1;
disliked = false;
likes+=1;
liked = true;
document.getElementById('alike').src = "img/icons/like1.png";
document.getElementById('adislike').src = "img/icons/dislike.png";
} else {
likes+=1;
liked = true;
document.getElementById('alike').src = "img/icons/like1.png";
}
} else {
<?php header("Location:login");?>
}
}
我想将用户重定向到登录页面如何在javascript中使用php来实现此目的。我不想使用像ajax等其他任何东西。谢谢。
答案 0 :(得分:1)
您不需要使用PHP header()
来重定向JS。您只需使用window.location
属性:
window.location.href = "your_url";
//or
window.location = "your_url";
//or
location.href = "your_url";
//or
location = "your_url";
答案 1 :(得分:1)
正如其他评论中所提到的,要在javsascript中重定向,您希望使用类似window.location.href = "your_url";
的内容。
这里有一些额外的信息可以帮助你将来,因为你似乎误解了PHP和JavaScript之间的关系。
在坚果shell中,你不能从javascript调用PHP函数。 PHP代码和javascript代码在请求周期中的两个非常不同的时间运行。 PHP由服务器运行,JavaScript由客户端(浏览器)运行
<强> PHP 强>
当您加载网页时,您的客户端(浏览器)会将请求发送到服务器,服务器会接收该请求并返回响应。
PHP在接收服务器上运行,非常简单的就是生成一个响应以发送回浏览器。所以它可能会生成html,javascript等。
您可以使用PHP输出html,例如<?php echo 'Hello world'; ?>
。
一旦PHP发送了它的响应,那就是PHP的游戏结束。
HTML和JavaScript
请求的浏览器将收到服务器发送的响应,然后处理它。对于HTML,它将呈现页面,并且将运行任何JavaScript。
Javascript无论如何都无法与PHP交互,因为PHP代码是在服务器上运行的,而javascript是在客户端上运行的。
理解客户端和服务器之间的差异很重要,否则你会发现自己遇到类似的问题:)