如何在window.location javascript中传递php变量

时间:2018-03-31 12:17:07

标签: javascript php

我想在window.location中传递php变量javascript这是我的php代码,我无法做到。

{{1}}

4 个答案:

答案 0 :(得分:1)

您过早关闭双引号。它应该在URL的末尾关闭。因此,JavaScript中存在语法错误:

echo '<script>location.href = "reportConsumption.php?creategenReport='.$genid.'&sDate='.$startdate.'&eDate='.$enddate.'";</script>';

或者使用变量分开更清楚:

$url = 'reportConsumption.php?creategenReport='.$genid.'&sDate='.$startdate.'&eDate='.$enddate;
echo '<script>location.href = "'.$url.'";</script>';

答案 1 :(得分:1)

您正在关闭JS中的引用

echo '<script>location.href = "reportConsumption.php?creategenReport="'.$genid.'"&sDate="'.$startdate.'"&eDate="'.$enddate;</script>';

应该是

 echo '<script>location.href = "reportConsumption.php?creategenReport='.$genid.'&sDate='.$startdate.'&eDate='.$enddate.'</script>';

这将导致客户端JS出错,您可以通过按f12并在浏览器调试器中查看控制台日志来查看。您的源代码将如下所示

 <script>location.href = "reportConsumption.php?creategenReport="35"&sDate="...

 //where this is a quoted block
 "reportConsumption.php?creategenReport="
 //and this is just chilling in space
 35
 //and then a new quoted block, etc.
 "&sDate="

你有另外一个(php语法错误)问题我冒昧地修复。

 .$enddate;</script>';

只需在PHP中,您可以使用

重定向
  header("Location: $url");

但你必须确定两件事:

  1. 在致电header
  2. 之前,您不会输出“Anything”甚至连回线
  3. 您之后立即致电exit();。如果不这样做,PHP将在执行重定向后继续执行当前脚本。这可能是不可取的。

答案 2 :(得分:1)

尝试设置引号

echo '<script>location.href = "reportConsumption.php?creategenReport='.$genid.'&sDate='.$startdate.'&eDate='.$enddate.'"</script>';

答案 3 :(得分:0)

你不应该在GET param的值周围使用双引号

  echo '<script>location.href = "reportConsumption.php?creategenReport='.$genid. 
          '&sDate='.$startdate.'&eDate='. $enddate .'"';</script>';