Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Perl(包括Javascript)创建HTML页面:刷新Javascript变量_Javascript_Html_Perl_Dygraphs - Fatal编程技术网

从Perl(包括Javascript)创建HTML页面:刷新Javascript变量

从Perl(包括Javascript)创建HTML页面:刷新Javascript变量,javascript,html,perl,dygraphs,Javascript,Html,Perl,Dygraphs,我目前正在编写内联网站点的代码,运行在Synology NAS上。由于intranet页面(通过Javascript)无法访问NAS上“www”文件夹之外的任何文件夹,因此我必须使用Perl脚本在服务器端执行此操作,因为应该显示的数据位于NAS上的“www”文件夹之外 perl脚本现在编写整个html页面,包括通过动态图绘制图表所需的Javascript代码。perl脚本所做的最重要的事情是处理.csv文件并写入 var $chartdata = [["2014/07/06 12:05", 15

我目前正在编写内联网站点的代码,运行在Synology NAS上。由于intranet页面(通过Javascript)无法访问NAS上“www”文件夹之外的任何文件夹,因此我必须使用Perl脚本在服务器端执行此操作,因为应该显示的数据位于NAS上的“www”文件夹之外

perl脚本现在编写整个html页面,包括通过动态图绘制图表所需的Javascript代码。perl脚本所做的最重要的事情是处理.csv文件并写入

var $chartdata = [["2014/07/06 12:05", 15], ["2014/07/06 12:06"], 15.5, ...];
哪个是序列变量,因为dygraphs库(dygraphs.com)需要它来显示图表。因此,我在“script”标记中动态地编写javascript行。通过URL中传递的perl变量(script.pl?day=07&month=06&year=2014),该变量的编写方式不同

这一切都显示在iPad上,工作正常

我现在已经实现了刷卡功能,并希望在显示日期的前一天或后一天使用数据刷新图表,具体取决于向左或向右刷卡。滑动功能也可以工作

我的问题是,如何在不刷新整个页面的情况下刷新/重写javascript变量?它只需使用URL变量中的新数据执行整个perl脚本,然后重写整个html页面。但我只想刷新图表,即图表的数据

关于如何实现这一点有什么想法吗

非常感谢并致以最良好的问候, 您需要使用dmy。可能最简单的方法是在服务器上设置一个端点,该端点运行perl脚本并输出图形函数可以理解的JSON。当页面加载时,发出一个请求,为您提供默认图形;当用户刷卡时,发出一个新的请求,为您提供相应的图形,等等


如果您使用的是jquery,您可以使用。

谢谢您。然后,我将尝试从perl脚本中删除html编写内容,并尝试按照您所说的方式获取数据,尽管我不太确定具体如何实现。我不编写perl,所以我不确定这在您的语言中是什么样子,但您基本上希望构建一个如下字符串:“{'response':['2014/07/06 12:05',15],['2014/07/06 12:06'],15.5,…]}“并让jquery将其解压到javascript数据结构中。此外,如果您觉得这个答案有用,请进行投票和/或接受。我可以毫无问题地用perl构建该字符串,我只是不确定jquery代码(解压)必须是什么样子。如果可以,我会投票给您,但“您需要15个信誉”还不允许我。