将jquery变量传递给php - php

我有以下jQuery代码:

  while (count < 31) {
  window['cday_' + count] = <?php echo $day_1 ?>; 
  window['tday_' + count] = (window['cday_' + count] * formfig) / formfig2; 
  count++;
  }

但是我需要在PHP echo语句中使用$ day_1来反映变量“ count”,因此从理论上讲,它应该类似于“ echo $ day_count”。是否可以将var传递给php?

php&jquery编码:

$i=0;
while ($i < $num) {
${"day_$i"}=mysql_result($result,$i,"datavalue");
$i++;
}

?>

<script type="text/javascript">
var chart1; 
var count=1;
var formfig=17;
var formfig2=2;

function chartdraw(){

      while (count < 31) {
      window['cday_' + count] = <?php echo $day_1 ?>; 
      window['tday_' + count] = (window['cday_' + count] * formfig) / formfig2; 
      count++;
      }

参考方案

简短的答案是“否”。

要了解可能发生的情况,您需要对正在发生的事情有深刻的了解。您的PHP代码正在构建一个HTML文档(带有嵌入式JavaScript)并将其发送到Web浏览器。一旦Web浏览器(当然是在用户的机器上运行,而不是在您的服务器上运行)呈现该页面,它将执行javascript。这是当javascript变量开始实际含义时。在此之前,它们只是通过网络发送的文本。这一点在PHP代码完成运行很长时间之后。您的服务器已经关闭了该php实例,因为它已将代码发送给用户。

请记住,您可以使用称为ajax请求的内容将javascript变量(或任何其他数目)的值发送回服务器。本质上,这会将一些信息(变量的值和所需页面的名称)发送回服务器,这又将导致服务器构建新的网页,其中可以包含PHP代码。该网页的内容将返回到您可以提供的另一段javascript,称为“回调”,它可以使用第二个php脚本创建的页面并加以利用。当然,这是相当耗费资源的。

除非您打算做一些PHP只能做的事情,否则我建议您找到一种在javascript中尽可能多地执行逻辑的方法。这减轻了所有这些复杂的问题,并使所有艰苦的工作都留在用户的机器上。

如果您可以对代码进行结构化,以便您的php代码可以在php完成运行之前提供javascript代码所需的所有数据,那么您无需做任何花哨的Ajax就能摆脱困境。这是一个例子:

<script type="text/javascript">
  var days = {};
  <? for($day = 0; $day < 30; $day++) { ?>
    days.<? echo $day ?> = "<? echo get_day_info($day) ?>";
  <? } ?>
</script>

这将创建一个名为days的javascript对象。然后它将为i填充days.i从0到30。假定您有一个名为get_day_info($ day)的函数,该函数需要一天的时间并返回该天的信息。我在这里假设您正在处理字符串-否则,您将需要删除引号,并可能需要采取其他措施来包装数据,具体取决于它采用的格式。

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

PHP strtotime困境 - php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00�…

PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…

php-casperjs获取内部文本 - php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…

PHP Laravel从另一个驱动器读取文件 - php

我目前正在学习Laravel。我想知道是否有一种方法可以在Laravel中使用Storage::从另一个硬盘访问文件(使用Windows)。例如,我在驱动器C:上安装了带有Laravel的Xampp,但是我想访问网站目录之外的E:上的文件。我试过使用Storage::files('E:')和File::files('E:…