所以PHP是在服务器端执行的。但是PHP可以在页面加载后运行吗?
为了说明这一点,如果我有一个每秒都在变化的值(可以说存储在文件中)。当我点击一个使用 Javascript 要求 PHP 获取该值的按钮时,它是否显示当前值是什么,或者页面加载时是什么值?
我认为您需要获得一张能够显示基本 HTTP 和 Web 服务器如何工作的图表。这对你来说比用简单的文字解释更有意义。
在最简单的情况下,您输入一些地址并获取包含其内容的网页的结果可以总结为,由于处理的结果request/response
您的浏览器与位于世界某个地方的网络服务器之间的关系。
纯 HTML
用一种不太简单的方式,可以这样想。基本上,如果页面处于刷新阶段(意味着您单击了某些内容并正在等待数据返回),则意味着它正在从 Web 服务器获取/加载响应。如果 Web 服务器没有将 PHP 作为模块安装,那么它等待/加载的唯一内容(在许多情况下)就是纯 HTML 内容。
With PHP
另一方面,如果我们假设您有一个名为index.php
在您的网络服务器中,并且安装了 PHP,在这种情况下,网络服务器将发送中间出现的所有内容<?php ?>
首先发送给 PHP 解释器,然后等待 PHP 发挥其魔力并仅将结果发送回服务器。
<?php
echo 1+1;
?>
因此,在上述情况下,网络服务器(例如:Apache、Nginx)不关心开始和结束标记内的内容,并将整个代码发送到 PHP 解释器,PHP 会根据它理解的方式计算该脚本并仅将计算结果以纯 HTML 形式发送回服务器。在这种情况下,数字2
.
AJAX 的作用。
AJAX(异步 JavaScript 和 XML)是一种使用 Javascript 的技术,可帮助您发送请求并接收响应,而无需加载页面。这通常是通过使用浏览器 XHR 对象来完成的。所以,这整个事情并没有什么神秘之处。
上述内容可以简单地概括为以下步骤。
- 输入 foo.com 浏览器向 foo.com 的服务器发送请求
- 服务器/浏览器交换消息 服务器允许浏览器获取
- 服务器发送信息
index.php
返回浏览器如果<?php
tag
- 在脚本中找到,服务器发送其中包含的所有代码
- 标签到 PHP 解释器 PHP 解释器编译查询
- 并将结果作为 HTMl 发送
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)