Javascript函数运行一次

时间:2015-09-24 06:58:46

标签: javascript php python refresh

我已经制作了一个Javascript脚本,该脚本成功地从Python脚本同时添加的SQLite数据库中提取。我无法弄清楚CGI,但我的工作......在一定程度上。

当我第一次运行页面时,它工作正常。它成功地使用PHP为我的每个列提取最后输入的值,将这些值存储到独立的Javascript变量中,清理它们以便它只是数据,然后打印它们。这是我在整个脚本执行一次时看到的一个例子:

问题在于:刷新按钮不起作用。按钮本身具有以下代码:

<button onclick="grabLatestRecord()">Refresh</button>

整个脚本位于:http://pastebin.com/Ym74DhJU

我尝试添加刷新功能,因此在打印清理后的数据后,它会被发送到刷新功能,然后刷新功能开始处理过程,但这并不起作用。它必须是PHP的东西,对吧?

1 个答案:

答案 0 :(得分:1)

您需要了解您的页面中嵌入的PHP实际工作情况。这是了解PHP,服务器,Javascript,浏览器等系统如何工作的一个非常重要的概念。

PHP仅在服务器上运行。

您网页中的Javascript仅在浏览器中运行。

网页中嵌入的PHP只在服务器上首次创建页面时运行一次,然后当它被发送到浏览器时,页面中不再有PHP。那时只是Javascript,HTML和CSS。所以调用你的grabLatestRecord()函数不会运行任何PHP。首次创建页面时,已在服务器上对此进行了评估。如果您在浏览器中执行View / Source,则可以查看实际的grabLatestRecord()函数,并在浏览器中看到其中没有PHP。

如果要从网页执行某些PHP以获取最新记录,则必须对服务器进行Ajax调用。这有点像远程PHP调用。客户端Javascript通过Ajax调用向您的服务器发送请求。服务器使用您的结果响应Ajax调用。结果将返回到浏览器中的Javascript,然后您可以使用Javascript更新页面内容。

有关于如何设置PHP来处理Ajax调用的文章数以万计,所以我建议您在那里阅读一些内容,如果您遇到这种情况,请回过头来提出新问题。