因此PHP在服务器端执行。但是在页面加载后是否可以运行PHP?
为了说明,如果我有一个值(存储在文件中,让我们说),每秒都会改变。当我点击一个使用Javascript要求PHP获取该值的按钮时,它是否显示当前值或页面加载时的值?
答案 0 :(得分:4)
我认为您需要获取其中一个显示基本HTTP和Web服务器如何工作的图表。对你来说更有意义,而不是在这里用简单的词语解释。
在最简单的情况下,由于浏览器与位于Web服务器之间request/response
关系的处理结果,您可以总结输入某个地址并获取包含其内容的网页的结果。世界的某个地方。
以一种不那么简单的方式,这样想。基本上,如果一个页面处于刷新阶段,(意味着你点击了一些东西并等待数据回来)那么,这意味着它正在从Web服务器获取/加载响应。如果Web服务器没有安装PHP作为模块,则它唯一等待/加载(在许多情况下)是纯HTML内容。
另一方面,如果我们假设您的网络服务器中有一个名为index.php
的文件,并且安装了PHP,则在这种情况下,Web服务器将发送显示在<?php ?>
之间的所有内容到PHP解释器,首先,然后等待它,直到PHP发挥其魔力,并仅将结果发送回服务器。
<?php
echo 1+1;
?>
因此,在上面的例子中,webserver(例如:Apache,Nginx)并不关心开始和结束标记内部是什么,并将整个代码发送到PHP解释器,PHP将按照这种方式计算该脚本它理解它并仅将计算结果发送回服务器,如纯HTML。在这种情况下,数字2
。
AJAX(异步JavaScript和XML)是一种使用Javascript的技术,可帮助您发送请求并接收响应,而无需加载页面。这通常通过使用浏览器XHR对象来完成。所以,这整个shebang没有神秘感。
以上可以简单地在以下步骤中总结。
index.php
标记,<?php
发送回浏览器
答案 1 :(得分:0)
答案 2 :(得分:0)
您的示例案例很难解释,没有获得技术或使用大量链式逻辑......
...但是,我会尽量保持这一点:
绝大多数情况下,PHP只会在某些内容连接到服务器时运行,并且在运行所访问的脚本后立即停止运行。
“某事”可能是页面加载(//mysite/index.php
),或者可能是发出XMLHttpRequest(“AJAX”)来向服务器请求数据(//mysite/articles.json
)。
并非所有语言都以这种方式运作。