Javascript调用php标头

时间:2016-10-15 16:13:24

标签: javascript php

我有以下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等其他任何东西。谢谢。

2 个答案:

答案 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是在客户端上运行的。

理解客户端和服务器之间的差异很重要,否则你会发现自己遇到类似的问题:)